From 7f3b2e811831a618dbe09c2c89681c1e2ddaaa89 Mon Sep 17 00:00:00 2001 From: Diane Gallois-Wong Date: Tue, 4 Apr 2023 17:55:02 +0200 Subject: [PATCH 1/2] Backport !8099 - Fix early starting accuser --- .../lib_delegate/client_daemon.ml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/proto_017_PtNairob/lib_delegate/client_daemon.ml b/src/proto_017_PtNairob/lib_delegate/client_daemon.ml index e5eec8251438..8f1936b22dcf 100644 --- a/src/proto_017_PtNairob/lib_delegate/client_daemon.ml +++ b/src/proto_017_PtNairob/lib_delegate/client_daemon.ml @@ -66,6 +66,10 @@ let rec retry_on_disconnection (cctxt : #Protocol_client_context.full) f = | Error err -> cctxt#error "Unexpected error: %a. Exiting..." pp_print_trace err +let await_protocol_start (cctxt : #Protocol_client_context.full) ~chain = + cctxt#message "Waiting for protocol %s to start..." Protocol.name + >>= fun () -> Node_rpc.await_protocol_activation cctxt ~chain () + module Baker = struct let run (cctxt : Protocol_client_context.full) ?minimal_fees ?minimal_nanotez_per_gas_unit ?minimal_nanotez_per_byte @@ -109,9 +113,7 @@ module Baker = struct ~retry:(retry cctxt ~delay:1. ~factor:1.5 ~tries:5) cctxt >>=? fun () -> - cctxt#message "Waiting for protocol %s to start..." Protocol.name - >>= fun () -> - Node_rpc.await_protocol_activation cctxt ~chain () >>=? fun () -> + await_protocol_start cctxt ~chain >>=? fun () -> if keep_alive then retry_on_disconnection cctxt process else process () end @@ -149,6 +151,7 @@ module Accuser = struct ~retry:(retry cctxt ~delay:1. ~factor:1.5 ~tries:5) cctxt >>=? fun () -> + await_protocol_start cctxt ~chain >>=? fun () -> if keep_alive then retry_on_disconnection cctxt process else process () end @@ -183,9 +186,6 @@ module VDF = struct ~retry:(retry cctxt ~delay:1. ~factor:1.5 ~tries:5) cctxt in - let*! () = - cctxt#message "Waiting for protocol %s to start..." Protocol.name - in - let* () = Node_rpc.await_protocol_activation cctxt ~chain () in + let* () = await_protocol_start cctxt ~chain in if keep_alive then retry_on_disconnection cctxt process else process () end -- GitLab From 642f2af049cf76c9157452807e6d48733f2c115e Mon Sep 17 00:00:00 2001 From: Thomas Letan Date: Tue, 4 Apr 2023 19:03:12 +0200 Subject: [PATCH 2/2] Tezt: Fix leftovers from Nairobi initial snapshot --- tezt/lib_tezos/protocol.ml | 4 +- tezt/tests/RPC_test.ml | 2 +- ...lient) RPC regression tests- contracts.out | 553 + ...lient) RPC regression tests- delegates.out | 95 + ... client) RPC regression tests- mempool.out | 380 + ...t) RPC regression tests- misc_protocol.out | 120 + ...de client) RPC regression tests- votes.out | 78 + ...light) RPC regression tests- contracts.out | 553 + ...light) RPC regression tests- delegates.out | 95 + ...t) RPC regression tests- misc_protocol.out | 120 + ...ode light) RPC regression tests- votes.out | 78 + ...proxy) RPC regression tests- contracts.out | 553 + ...proxy) RPC regression tests- delegates.out | 95 + ...e proxy) RPC regression tests- mempool.out | 380 + ...y) RPC regression tests- misc_protocol.out | 120 + ...ode proxy) RPC regression tests- votes.out | 78 + ...a_dir) RPC regression tests- contracts.out | 553 + ...a_dir) RPC regression tests- delegates.out | 95 + ...r) RPC regression tests- misc_protocol.out | 120 + ..._data_dir) RPC regression tests- votes.out | 78 + ...r_rpc) RPC regression tests- contracts.out | 553 + ...r_rpc) RPC regression tests- delegates.out | 95 + ...c) RPC regression tests- misc_protocol.out | 120 + ...erver_rpc) RPC regression tests- votes.out | 78 + ... add-approve-transfer-remove liquidity.out | 416 + .../Nairobi- Test trades.out | 446 + ...airobi- Macro expansion- macros-assert.out | 8 + ...- Macro expansion- macros-assert_cmpeq.out | 11 + ...- Macro expansion- macros-assert_cmpge.out | 11 + ...- Macro expansion- macros-assert_cmpgt.out | 11 + ...- Macro expansion- macros-assert_cmple.out | 11 + ...- Macro expansion- macros-assert_cmplt.out | 11 + ... Macro expansion- macros-assert_cmpneq.out | 11 + ...obi- Macro expansion- macros-assert_eq.out | 12 + ...obi- Macro expansion- macros-assert_ge.out | 12 + ...obi- Macro expansion- macros-assert_gt.out | 12 + ...obi- Macro expansion- macros-assert_le.out | 12 + ...obi- Macro expansion- macros-assert_lt.out | 12 + ...bi- Macro expansion- macros-assert_neq.out | 12 + ...acro expansion- macros-big_map_get_add.out | 22 + ...i- Macro expansion- macros-big_map_mem.out | 13 + ...bi- Macro expansion- macros-build_list.out | 23 + ... Macro expansion- macros-carn_and_cdrn.out | 28 + ...irobi- Macro expansion- macros-compare.out | 21 + ... Macro expansion- macros-compare_bytes.out | 21 + .../Nairobi- Macro expansion- macros-fail.out | 2 + ...obi- Macro expansion- macros-guestbook.out | 17 + ...ro expansion- macros-macro_annotations.out | 12 + ...- Macro expansion- macros-map_caddaadr.out | 39 + ...i- Macro expansion- macros-max_in_list.out | 16 + .../Nairobi- Macro expansion- macros-min.out | 12 + ...bi- Macro expansion- macros-pair_macro.out | 17 + ...- Macro expansion- macros-set_caddaadr.out | 32 + ... Macro expansion- macros-take_my_money.out | 13 + ...- Macro expansion- macros-unpair_macro.out | 19 + ...hain opcodes- test_big_map_origination.out | 148 + ...t onchain opcodes- test_contract_fails.out | 70 + ...- Contract onchain opcodes- test_level.out | 113 + ...bi- Contract onchain opcodes- test_now.out | 77 + ...i- Contract onchain opcodes- test_self.out | 77 + ... Contract onchain opcodes- test_sender.out | 170 + ...act onchain opcodes- test_set_delegate.out | 118 + ...- Contract onchain opcodes- test_slice.out | 461 + ... Contract onchain opcodes- test_source.out | 170 + ...ract onchain opcodes- test_split_bytes.out | 142 + ...act onchain opcodes- test_split_string.out | 142 + ...ract onchain opcodes- test_store_input.out | 116 + ...est_trace_origination_compare_big_type.out | 89 + ...st_trace_origination_compare_big_type2.out | 93 + ... onchain opcodes- test_transfer_amount.out | 83 + ... onchain opcodes- test_transfer_tokens.out | 228 + ...abs--storage125992234--input254251340-.out | 38 + ...abs--storage125992234--input420401245-.out | 38 + ...abs--storage125992234--input680650890-.out | 38 + ...add--storage125992234--input125992234-.out | 211 + ..._fr--storage921624073--input322109491-.out | 30 + ..._fr--storage921624073--input461261325-.out | 30 + ..._fr--storage921624073--input530006774-.out | 30 + ..._fr--storage921624073--input712570300-.out | 30 + ...amp--storage921624073--input249636002-.out | 36 + ...amp--storage921624073--input267363182-.out | 36 + ...amp--storage921624073--input438561129-.out | 36 + ...lta--storage921624073--input249636002-.out | 36 + ...lta--storage921624073--input307538219-.out | 36 + ...lta--storage921624073--input373737581-.out | 36 + ...ess--storage921624073--input117475800-.out | 23 + ...and--storage921624073--input106930123-.out | 31 + ...and--storage921624073--input181204719-.out | 31 + ...and--storage921624073--input223774825-.out | 31 + ...and--storage921624073--input908807505-.out | 31 + ...ary--storage125992234--input125992234-.out | 93 + ...tes--storage125992234--input125992234-.out | 75 + ...l_1--storage570553153--input106930123-.out | 24 + ...l_1--storage570553153--input181204719-.out | 24 + ...l_1--storage570553153--input223774825-.out | 24 + ...l_1--storage570553153--input908807505-.out | 24 + ...nce--storage492856247--input125992234-.out | 21 + ...nat--storage495706788--input453441034-.out | 42 + ..._nat--storage56274299--input453441034-.out | 44 + ..._nat--storage56274299--input564400327-.out | 44 + ..._nat--storage56274299--input654274102-.out | 44 + ...nat--storage690637660--input453441034-.out | 43 + ...nat--storage806237530--input453441034-.out | 43 + ...ng--storage109689253--input1071610051-.out | 44 + ...ing--storage109689253--input700475845-.out | 44 + ...ing--storage109689253--input905318451-.out | 44 + ...ing--storage495706788--input700475845-.out | 42 + ...ing--storage915708427--input700475845-.out | 43 + ...ing--storage936682951--input905318451-.out | 43 + ...not_padded--storage921624073--input125.out | 24 + ...nat--storage921624073--input125992234-.out | 24 + ...nt--storage680650890--input1043734173-.out | 21 + ...int--storage680650890--input151303925-.out | 21 + ...int--storage680650890--input520610122-.out | 22 + ...int--storage680650890--input558805129-.out | 22 + ...tez--storage680650890--input229402968-.out | 32 + ...nt--storage287336412--input1019409032-.out | 23 + ...int--storage698210250--input949526473-.out | 23 + ...int--storage739946440--input166435292-.out | 23 + ...int--storage739946440--input583291483-.out | 23 + ...nt--storage994282947--input1055524890-.out | 23 + ...int--storage994282947--input453441034-.out | 22 + ...int--storage994282947--input564400327-.out | 22 + ...int--storage994282947--input585234482-.out | 22 + ...int--storage994282947--input680650890-.out | 22 + ...int--storage994282947--input701858804-.out | 22 + ...at--storage287336412--input1019409032-.out | 23 + ...nat--storage698210250--input949526473-.out | 23 + ...nat--storage739946440--input166435292-.out | 23 + ...nat--storage739946440--input583291483-.out | 23 + ...at--storage994282947--input1055524890-.out | 23 + ...nat--storage994282947--input453441034-.out | 22 + ...nat--storage994282947--input564400327-.out | 22 + ...nat--storage994282947--input680650890-.out | 22 + ...nt--storage287336412--input1019409032-.out | 26 + ...int--storage698210250--input949526473-.out | 26 + ...int--storage739946440--input166435292-.out | 26 + ...int--storage739946440--input583291483-.out | 26 + ...nt--storage994282947--input1055524890-.out | 26 + ...int--storage994282947--input453441034-.out | 25 + ...int--storage994282947--input564400327-.out | 25 + ...int--storage994282947--input585234482-.out | 25 + ...int--storage994282947--input680650890-.out | 25 + ...int--storage994282947--input701858804-.out | 25 + ...at--storage287336412--input1019409032-.out | 26 + ...nat--storage698210250--input949526473-.out | 26 + ...nat--storage739946440--input166435292-.out | 26 + ...nat--storage739946440--input583291483-.out | 26 + ...at--storage994282947--input1055524890-.out | 26 + ...nat--storage994282947--input453441034-.out | 25 + ...nat--storage994282947--input564400327-.out | 25 + ...nat--storage994282947--input680650890-.out | 25 + ...int--storage125992234--input125992234-.out | 261 + ...nat--storage125992234--input125992234-.out | 126 + ...car--storage680650890--input783124233-.out | 21 + ...cdr--storage680650890--input783124233-.out | 21 + ...ore--storage109160754--input125992234-.out | 23 + ...ore--storage921624073--input125992234-.out | 23 + ...ore--storage981066851--input125992234-.out | 23 + ...omb--storage950292965--input125992234-.out | 30 + ...get--storage125992234--input186507116-.out | 123 + ...set--storage186507116--input125992234-.out | 39 + ...t-2--storage921624073--input186507116-.out | 36 + ...are--storage125992234--input125992234-.out | 398 + ...ons--storage457300675--input281780712-.out | 350 + ...llo--storage457300675--input392583650-.out | 35 + ...llo--storage457300675--input457300675-.out | 21 + ...llo--storage457300675--input640104625-.out | 28 + ...tes--storage457300675--input354091714-.out | 35 + ...tes--storage457300675--input441061063-.out | 28 + ...tes--storage457300675--input457300675-.out | 21 + ...list--storage79230375--input264787654-.out | 96 + ...list--storage79230375--input316676251-.out | 119 + ...list--storage79230375--input457300675-.out | 27 + ...ons--storage457300675--input798141440-.out | 22 + ...ons--storage581876226--input166122047-.out | 22 + ...ons--storage793461282--input781487591-.out | 22 + ...all--storage921624073--input315650912-.out | 166 + ..._all--storage921624073--input51111414-.out | 410 + ...all--storage921624073--input545734274-.out | 166 + ...all--storage921624073--input772794967-.out | 63 + ...all--storage921624073--input917967660-.out | 437 + ...all--storage921624073--input964818218-.out | 166 + ...act--storage125992234--input117475800-.out | 29 + ...act--storage921624073--input125992234-.out | 49 + ...ps--storage492856247--input1011138251-.out | 34 + ...ps--storage492856247--input1018564342-.out | 34 + ...ps--storage492856247--input1031049988-.out | 34 + ...mps--storage492856247--input685590443-.out | 34 + ..._eq--storage125992234--input246866101-.out | 3431 +++ ...g_eq--storage125992234--input26856104-.out | 3431 +++ ...ign--storage680650890--input529388602-.out | 61 + ...ip--storage1011138251--input590117173-.out | 36 + ...ip--storage1011138251--input850887554-.out | 36 + ...ipn--storage680650890--input529388602-.out | 93 + ...opn--storage680650890--input529388602-.out | 39 + ...ugn--storage680650890--input529388602-.out | 57 + ...p-n--storage125992234--input125992234-.out | 248 + ...div--storage994417987--input247451205-.out | 142 + ...div--storage994417987--input250545589-.out | 142 + ...ediv--storage994417987--input79625541-.out | 142 + ...tez--storage977883604--input147133089-.out | 37 + ...tez--storage977883604--input215785357-.out | 37 + ...tez--storage977883604--input389351431-.out | 37 + ...utez--storage977883604--input44513000-.out | 37 + ...tez--storage977883604--input635398196-.out | 37 + ...tez--storage977883604--input734264738-.out | 37 + ...tez--storage977883604--input993071382-.out | 37 + ...mit--storage125992234--input125992234-.out | 72 + ...map--storage457300675--input125992234-.out | 33 + ...cat--storage398998998--input246262487-.out | 48 + ...ncat--storage398998998--input79230375-.out | 48 + ...rst--storage492856247--input478406404-.out | 30 + ...rst--storage492856247--input962874972-.out | 30 + ...ap--storage1026405794--input329240220-.out | 34 + ...map--storage382368661--input329240220-.out | 34 + ...map--storage496578814--input329240220-.out | 34 + ...map--storage496578814--input507231566-.out | 34 + ...map--storage547821324--input329240220-.out | 34 + ...map--storage796012494--input156280093-.out | 34 + ...map--storage796012494--input228164856-.out | 34 + ...lue--storage139236239--input329240220-.out | 41 + ...alue--storage139236239--input79230375-.out | 41 + ...lue--storage329396864--input156280093-.out | 41 + ...ey--storage921624073--input1040351577-.out | 23 + ...key--storage921624073--input153350004-.out | 23 + ...tring--storage151303925--input3431716-.out | 23 + ...ing--storage151303925--input535018041-.out | 23 + ...-if--storage921624073--input570553153-.out | 27 + ...-if--storage921624073--input954397288-.out | 27 + ...ome--storage398998998--input288201633-.out | 23 + ...ome--storage398998998--input921624073-.out | 25 + ...int--storage921624073--input453441034-.out | 23 + ...int--storage921624073--input535454136-.out | 23 + ...int--storage921624073--input680650890-.out | 23 + ...ak--storage921624073--input1008262038-.out | 24 + ...right--storage4177631--input202098045-.out | 25 + ..._right--storage4177631--input44576556-.out | 25 + ...vel--storage492856247--input125992234-.out | 21 + ...cat--storage717096222--input457300675-.out | 27 + ...cat--storage717096222--input546523343-.out | 27 + ...tes--storage149262694--input220724351-.out | 27 + ...tes--storage149262694--input457300675-.out | 27 + ...ytes--storage65410082--input457300675-.out | 27 + ...tes--storage726220441--input972761363-.out | 27 + ..._id--storage528921618--input264787654-.out | 19 + ..._id--storage528921618--input457300675-.out | 19 + ..._id--storage528921618--input656499821-.out | 19 + ...map--storage528921618--input264787654-.out | 27 + ...map--storage528921618--input457300675-.out | 21 + ...map--storage528921618--input656499821-.out | 27 + ...ter--storage680650890--input568817463-.out | 42 + ...ter--storage680650890--input737923774-.out | 42 + ...ock--storage907453363--input457300675-.out | 36 + ...ock--storage907453363--input648737279-.out | 136 + ...ock--storage907453363--input908379154-.out | 136 + ...ize--storage492856247--input403499055-.out | 21 + ...ize--storage492856247--input457300675-.out | 21 + ...ize--storage492856247--input469078912-.out | 21 + ...ize--storage492856247--input802622031-.out | 21 + ...eft--storage528921618--input457300675-.out | 52 + ...eft--storage528921618--input851203613-.out | 163 + ...tes--storage125992234--input125992234-.out | 93 + ...tes--storage125992234--input125992234-.out | 129 + ...id--storage457300675--input1027566226-.out | 19 + ..._id--storage457300675--input276660554-.out | 19 + ..._id--storage457300675--input599923743-.out | 19 + ...er--storage1011138251--input403579222-.out | 152 + ...er--storage1011138251--input532072758-.out | 152 + ...map--storage457300675--input798141440-.out | 32 + ...map--storage794999348--input152441147-.out | 68 + ..._map--storage88008216--input798141440-.out | 50 + ...nat--storage495706788--input453441034-.out | 42 + ..._nat--storage56274299--input453441034-.out | 42 + ..._nat--storage56274299--input564400327-.out | 42 + ..._nat--storage56274299--input654274102-.out | 42 + ...nat--storage690637660--input453441034-.out | 42 + ...nat--storage806237530--input453441034-.out | 42 + ...ng--storage109689253--input1071610051-.out | 42 + ...ing--storage109689253--input700475845-.out | 42 + ...ing--storage109689253--input905318451-.out | 42 + ...ing--storage495706788--input700475845-.out | 42 + ...ing--storage915708427--input700475845-.out | 42 + ...ing--storage936682951--input905318451-.out | 42 + ...size--storage492856247--input15265129-.out | 21 + ...ize--storage492856247--input158311065-.out | 21 + ...ize--storage492856247--input456982702-.out | 21 + ...ize--storage492856247--input457300675-.out | 21 + ...mul--storage125992234--input125992234-.out | 131 + ..._fr--storage151303925--input216277421-.out | 38 + ..._fr--storage287799761--input485842614-.out | 38 + ...eg--storage680650890--input1067298059-.out | 25 + ...neg--storage680650890--input380029349-.out | 25 + ...neg--storage680650890--input563503226-.out | 25 + ...neg--storage680650890--input788662499-.out | 25 + ...neg--storage680650890--input972832189-.out | 25 + ...none--storage11179311--input125992234-.out | 21 + ...not--storage921624073--input570553153-.out | 23 + ...not--storage921624073--input954397288-.out | 23 + ...ry--storage921624073--input1051197453-.out | 27 + ...ary--storage921624073--input123939249-.out | 27 + ...nary--storage921624073--input24243730-.out | 27 + ...ary--storage921624073--input518945720-.out | 27 + ...ary--storage921624073--input788662499-.out | 27 + ...ary--storage921624073--input906118781-.out | 27 + ...ary--storage921624073--input921874253-.out | 27 + ...ary--storage921624073--input972832189-.out | 27 + ...tes--storage125992234--input125992234-.out | 66 + ...-or--storage921624073--input106930123-.out | 35 + ...-or--storage921624073--input181204719-.out | 35 + ...-or--storage921624073--input223774825-.out | 35 + ...-or--storage921624073--input908807505-.out | 35 + ...ry--storage921624073--input1056991424-.out | 26 + ...ary--storage921624073--input375993021-.out | 26 + ...ary--storage921624073--input673240563-.out | 26 + ...ary--storage921624073--input747448890-.out | 26 + ...ary--storage921624073--input832403787-.out | 26 + ...ary--storage921624073--input858098961-.out | 26 + ...tes--storage125992234--input125992234-.out | 75 + ...rev--storage125992234--input305844558-.out | 845 + ...rev--storage125992234--input646365167-.out | 845 + ...ty--storage125992234--input1028781121-.out | 1194 + ...cty--storage125992234--input802670583-.out | 1032 + ..._id--storage921624073--input106930123-.out | 21 + ..._id--storage921624073--input181204719-.out | 21 + ..._id--storage921624073--input223774825-.out | 21 + ..._id--storage921624073--input908807505-.out | 21 + ...ec--storage256947135--input1050356042-.out | 47 + ...c_2--storage197120858--input179371027-.out | 282 + ...int--storage921624073--input125992234-.out | 23 + ...rse--storage528921618--input457300675-.out | 27 + ...rse--storage528921618--input851203613-.out | 42 + ...oop--storage528921618--input457300675-.out | 50 + ...oop--storage528921618--input851203613-.out | 131 + ...ate--storage457300675--input125992234-.out | 21 + ...ess--storage125992234--input125992234-.out | 46 + ...oint--storage125992234--input125992234.out | 47 + ...int--storage125992234--input289072903-.out | 93 + ...car--storage224747103--input620760059-.out | 49 + ...car--storage224747103--input717096222-.out | 49 + ..._car--storage224747103--input79230375-.out | 49 + ...cdr--storage205576101--input654274102-.out | 46 + ...cdr--storage224747103--input453441034-.out | 46 + ...cdr--storage611418174--input967284912-.out | 46 + ..._id--storage457300675--input264787654-.out | 19 + ..._id--storage457300675--input457300675-.out | 19 + ..._id--storage457300675--input989507347-.out | 19 + ...ter--storage492856247--input457300675-.out | 27 + ...ter--storage492856247--input701684511-.out | 47 + ...ter--storage492856247--input802622031-.out | 32 + ...mber--storage495706788--input33757838-.out | 61 + ...mber--storage550087893--input79230375-.out | 61 + ...mber--storage605111220--input33757838-.out | 61 + ...ize--storage492856247--input403499055-.out | 21 + ...ize--storage492856247--input457300675-.out | 21 + ...ize--storage492856247--input469078912-.out | 21 + ...ize--storage492856247--input802622031-.out | 21 + ...a3--storage921624073--input1008262038-.out | 24 + ...fts--storage921624073--input115382786-.out | 30 + ...fts--storage921624073--input271566295-.out | 30 + ...fts--storage921624073--input340971987-.out | 30 + ...fts--storage921624073--input374168553-.out | 30 + ...fts--storage921624073--input413621582-.out | 30 + ...fts--storage921624073--input424849461-.out | 30 + ...fts--storage921624073--input485030042-.out | 30 + ...fts--storage921624073--input705767726-.out | 30 + ...fts--storage921624073--input769385932-.out | 30 + ...fts--storage921624073--input913715337-.out | 30 + ...lice--storage351480851--input65907686-.out | 38 + ...ice--storage364922380--input198821575-.out | 37 + ...ice--storage364922380--input359592843-.out | 37 + ...ice--storage364922380--input551316239-.out | 37 + ...ice--storage364922380--input722749044-.out | 37 + ...ice--storage364922380--input839234860-.out | 37 + ...ice--storage364922380--input919180079-.out | 37 + ...ice--storage921624073--input551316239-.out | 31 + ...tes--storage229749865--input198821575-.out | 37 + ...tes--storage229749865--input462551352-.out | 37 + ...tes--storage229749865--input489157380-.out | 37 + ...tes--storage229749865--input551316239-.out | 37 + ...tes--storage229749865--input669330759-.out | 37 + ...tes--storage229749865--input743596105-.out | 37 + ...tes--storage229749865--input839234860-.out | 37 + ...ytes--storage504917929--input65907686-.out | 38 + ...tes--storage921624073--input462551352-.out | 31 + ...id--storage921624073--input1016369050-.out | 21 + ...r_id--storage921624073--input93477117-.out | 21 + ...lta--storage492856247--input249636002-.out | 34 + ...lta--storage492856247--input307538219-.out | 34 + ...lta--storage492856247--input831449542-.out | 34 + ...sub--storage921624073--input706350605-.out | 71 + ...sub--storage921624073--input856198194-.out | 71 + ...omb--storage680650890--input394061083-.out | 50 + ...air--storage125992234--input125992234-.out | 462 + ...r--storage1011138251--input1040351577-.out | 32 + ...or--storage921624073--input1058477720-.out | 32 + ...or--storage921624073--input1073176155-.out | 32 + ...xor--storage921624073--input246594902-.out | 32 + ...xor--storage921624073--input506603577-.out | 32 + ...xor--storage921624073--input576248088-.out | 32 + ...xor--storage921624073--input612012282-.out | 32 + ...xor--storage921624073--input617591686-.out | 32 + ...xor--storage921624073--input639311176-.out | 32 + ...xor--storage921624073--input688315180-.out | 32 + ...xor--storage921624073--input967929605-.out | 32 + ...tes--storage125992234--input125992234-.out | 75 + ...irobi- test Michelson opcodes- BALANCE.out | 147 + ...Nairobi- test Michelson opcodes- LEVEL.out | 21 + .../Nairobi- test Michelson opcodes- NOW.out | 21 + ...Michelson opcodes- arithmetic_overflow.out | 224 + ...Michelson opcodes- big_map_contract_io.out | 1088 + ...est Michelson opcodes- check_signature.out | 243 + ...st Michelson opcodes- hash_consistency.out | 32 + ...Michelson opcodes- map_map_side_effect.out | 315 + ...i- test Michelson opcodes- pack_unpack.out | 108 + .../Nairobi- Tc attic-accounts.out | 215 + .../Nairobi- Tc attic-add1.out | 16 + .../Nairobi- Tc attic-add1_list.out | 14 + .../Nairobi- Tc attic-after_strategy.out | 25 + .../Nairobi- Tc attic-always.out | 18 + .../Nairobi- Tc attic-append.out | 22 + .../Nairobi- Tc attic-at_least.out | 18 + .../Nairobi- Tc attic-auction.out | 66 + .../Nairobi- Tc attic-bad_lockup.out | 59 + .../Nairobi- Tc attic-big_map_union.out | 34 + .../Nairobi- Tc attic-cadr_annotation.out | 17 + .../Nairobi- Tc attic-concat.out | 27 + .../Nairobi- Tc attic-conditionals.out | 20 + .../Nairobi- Tc attic-cons_twice.out | 22 + .../Nairobi- Tc attic-cps_fact.out | 66 + .../Nairobi- Tc attic-create_add1_lists.out | 29 + .../Nairobi- Tc attic-data_publisher.out | 73 + .../Nairobi- Tc attic-dispatch.out | 55 + .../Nairobi- Tc attic-empty.out | 12 + .../Nairobi- Tc attic-fail_amount.out | 20 + .../Nairobi- Tc attic-faucet.out | 35 + .../Nairobi- Tc attic-forward.out | 1775 ++ .../Nairobi- Tc attic-id.out | 12 + .../Nairobi- Tc attic-infinite_loop.out | 18 + .../Nairobi- Tc attic-insertion_sort.out | 63 + .../Nairobi- Tc attic-int_publisher.out | 87 + .../Nairobi- Tc attic-king_of_tez.out | 70 + ...Nairobi- Tc attic-list_of_transactions.out | 42 + .../Nairobi- Tc attic-queue.out | 106 + .../Nairobi- Tc attic-reduce_map.out | 56 + .../Nairobi- Tc attic-reentrancy.out | 43 + .../Nairobi- Tc attic-reservoir.out | 78 + .../Nairobi- Tc attic-scrutable_reservoir.out | 247 + .../Nairobi- Tc attic-spawn_identities.out | 61 + ...bi- Tc entrypoints-big_map_entrypoints.out | 120 + ...obi- Tc entrypoints-delegatable_target.out | 119 + .../Nairobi- Tc entrypoints-manager.out | 35 + ...robi- Tc entrypoints-no_default_target.out | 29 + ...i- Tc entrypoints-no_entrypoint_target.out | 29 + .../Nairobi- Tc entrypoints-rooted_target.out | 29 + ...obi- Tc entrypoints-simple_entrypoints.out | 12 + .../Nairobi- Tc macros-assert.out | 15 + .../Nairobi- Tc macros-assert_cmpeq.out | 21 + .../Nairobi- Tc macros-assert_cmpge.out | 21 + .../Nairobi- Tc macros-assert_cmpgt.out | 21 + .../Nairobi- Tc macros-assert_cmple.out | 21 + .../Nairobi- Tc macros-assert_cmplt.out | 21 + .../Nairobi- Tc macros-assert_cmpneq.out | 21 + .../Nairobi- Tc macros-assert_eq.out | 23 + .../Nairobi- Tc macros-assert_ge.out | 23 + .../Nairobi- Tc macros-assert_gt.out | 23 + .../Nairobi- Tc macros-assert_le.out | 23 + .../Nairobi- Tc macros-assert_lt.out | 23 + .../Nairobi- Tc macros-assert_neq.out | 23 + .../Nairobi- Tc macros-big_map_get_add.out | 55 + .../Nairobi- Tc macros-big_map_mem.out | 31 + .../Nairobi- Tc macros-build_list.out | 45 + .../Nairobi- Tc macros-carn_and_cdrn.out | 47 + .../Nairobi- Tc macros-compare.out | 92 + .../Nairobi- Tc macros-compare_bytes.out | 92 + .../Nairobi- Tc macros-fail.out | 5 + .../Nairobi- Tc macros-guestbook.out | 33 + .../Nairobi- Tc macros-macro_annotations.out | 24 + .../Nairobi- Tc macros-map_caddaadr.out | 18 + .../Nairobi- Tc macros-max_in_list.out | 29 + .../Nairobi- Tc macros-min.out | 22 + .../Nairobi- Tc macros-pair_macro.out | 26 + .../Nairobi- Tc macros-set_caddaadr.out | 20 + .../Nairobi- Tc macros-take_my_money.out | 26 + .../Nairobi- Tc macros-unpair_macro.out | 32 + ...airobi- Tc mini_scenarios-999_constant.out | 15 + ...i- Tc mini_scenarios-add_clear_tickets.out | 34 + ...airobi- Tc mini_scenarios-always_fails.out | 5 + ...robi- Tc mini_scenarios-authentication.out | 44 + ...Nairobi- Tc mini_scenarios-big_map_all.out | 16 + ... Tc mini_scenarios-big_map_entrypoints.out | 120 + ...irobi- Tc mini_scenarios-big_map_magic.out | 103 + ...airobi- Tc mini_scenarios-big_map_read.out | 17 + ...irobi- Tc mini_scenarios-big_map_store.out | 14 + ...irobi- Tc mini_scenarios-big_map_write.out | 20 + ...i- Tc mini_scenarios-cache_consistency.out | 15 + ...obi- Tc mini_scenarios-check_signature.out | 45 + ...Tc mini_scenarios-constant_entrypoints.out | 58 + ...irobi- Tc mini_scenarios-constant_unit.out | 16 + ...obi- Tc mini_scenarios-create_contract.out | 74 + ... mini_scenarios-create_contract_simple.out | 27 + ...obi- Tc mini_scenarios-default_account.out | 26 + ...Nairobi- Tc mini_scenarios-emit_events.out | 34 + ...ini_scenarios-execution_order_appender.out | 29 + ... mini_scenarios-execution_order_caller.out | 22 + ... mini_scenarios-execution_order_storer.out | 16 + ...robi- Tc mini_scenarios-fa12_reference.out | 2707 +++ ...irobi- Tc mini_scenarios-fail_on_false.out | 13 + ...bi- Tc mini_scenarios-generic_multisig.out | 245 + .../Nairobi- Tc mini_scenarios-groth16.out | 194 + .../Nairobi- Tc mini_scenarios-hardlimit.out | 18 + ...Nairobi- Tc mini_scenarios-large_error.out | 35 + ... Tc mini_scenarios-large_flat_contract.out | 3634 +++ ...airobi- Tc mini_scenarios-large_str_id.out | 19614 ++++++++++++++++ ...obi- Tc mini_scenarios-legacy_multisig.out | 254 + .../Nairobi- Tc mini_scenarios-lockup.out | 42 + .../Nairobi- Tc mini_scenarios-loop.out | 31 + ...robi- Tc mini_scenarios-lqt_fa12.mligo.out | 1385 ++ ...airobi- Tc mini_scenarios-multiple_en2.out | 165 + ...scenarios-multiple_entrypoints_counter.out | 148 + ...ini_scenarios-multisig_dest_entrypoint.out | 12 + ...scenarios-multisig_dest_entrypoint_arg.out | 12 + .../Nairobi- Tc mini_scenarios-nat_id.out | 12 + .../Nairobi- Tc mini_scenarios-noop_bytes.out | 12 + ...- Tc mini_scenarios-originate_contract.out | 28 + ... mini_scenarios-parameterized_multisig.out | 166 + ...i- Tc mini_scenarios-parsable_contract.out | 63 + ...i_scenarios-receive_tickets_in_big_map.out | 12 + .../Nairobi- Tc mini_scenarios-replay.out | 29 + ... mini_scenarios-reveal_signed_preimage.out | 63 + ...i- Tc mini_scenarios-sc_rollup_forward.out | 20 + ...i_scenarios-sc_rollup_mint_and_forward.out | 29 + ...c mini_scenarios-self_address_receiver.out | 19 + ... Tc mini_scenarios-self_address_sender.out | 23 + ...bi- Tc mini_scenarios-send_ticket_list.out | 42 + ...ni_scenarios-send_ticket_list_multiple.out | 55 + ...ni_scenarios-send_tickets_from_storage.out | 49 + ...mini_scenarios-send_tickets_in_big_map.out | 133 + ...s-smart_rollup_mint_and_deposit_ticket.out | 70 + ...scenarios-smart_rollup_receive_tickets.out | 23 + .../Nairobi- Tc mini_scenarios-str_id.out | 14 + ...mini_scenarios-ticket_builder_fungible.out | 58 + ..._scenarios-ticket_builder_non_fungible.out | 56 + ... mini_scenarios-ticket_wallet_fungible.out | 194 + ...i_scenarios-ticket_wallet_non_fungible.out | 116 + .../Nairobi- Tc mini_scenarios-tickets.out | 21 + ...Nairobi- Tc mini_scenarios-tickets_bag.out | 40 + ...Tc mini_scenarios-tickets_bag_implicit.out | 40 + ...i- Tc mini_scenarios-tickets_blackhole.out | 12 + ...mini_scenarios-tickets_create_and_send.out | 126 + ... mini_scenarios-tickets_list_blackhole.out | 12 + ...ni_scenarios-tickets_receive_and_store.out | 14 + ...airobi- Tc mini_scenarios-tickets_send.out | 35 + ...c mini_scenarios-tickets_send_with_tez.out | 33 + ...enarios-tickets_store_fst_and_rely_snd.out | 42 + .../Nairobi- Tc mini_scenarios-tzip4_view.out | 55 + .../Nairobi- Tc mini_scenarios-very_small.out | 14 + ...i- Tc mini_scenarios-view_check_caller.out | 37 + ... mini_scenarios-view_registers_callers.out | 25 + .../Nairobi- Tc mini_scenarios-viewable.out | 119 + ...i- Tc mini_scenarios-vote_for_delegate.out | 114 + ...i- Tc mini_scenarios-weather_insurance.out | 87 + .../Nairobi- Tc mini_scenarios-xcat.out | 83 + .../Nairobi- Tc mini_scenarios-xcat_dapp.out | 308 + .../Nairobi- Tc non_regression-262_bug.out | 18 + .../Nairobi- Tc non_regression-843_bug.out | 14 + ...- Tc non_regression-bad_annot_contract.out | 14 + ...Nairobi- Tc non_regression-pairk_annot.out | 28 + .../Nairobi- Tc opcodes-abs.out | 23 + .../Nairobi- Tc opcodes-add.out | 84 + .../Nairobi- Tc opcodes-add_bls12_381_fr.out | 18 + .../Nairobi- Tc opcodes-add_bls12_381_g1.out | 18 + .../Nairobi- Tc opcodes-add_bls12_381_g2.out | 18 + ...airobi- Tc opcodes-add_delta_timestamp.out | 22 + ...airobi- Tc opcodes-add_timestamp_delta.out | 22 + .../Nairobi- Tc opcodes-address.out | 16 + ...robi- Tc opcodes-amount_after_fib_view.out | 38 + ... opcodes-amount_after_nonexistent_view.out | 36 + .../Nairobi- Tc opcodes-amount_after_view.out | 38 + .../Nairobi- Tc opcodes-and.out | 22 + .../Nairobi- Tc opcodes-and_binary.out | 50 + .../Nairobi- Tc opcodes-and_bytes.out | 41 + .../Nairobi- Tc opcodes-and_logical_1.out | 16 + .../Nairobi- Tc opcodes-balance.out | 14 + ...obi- Tc opcodes-balance_after_fib_view.out | 38 + ...opcodes-balance_after_nonexistent_view.out | 36 + ...Nairobi- Tc opcodes-balance_after_view.out | 38 + .../Nairobi- Tc opcodes-big_map_mem_nat.out | 22 + ...Nairobi- Tc opcodes-big_map_mem_string.out | 25 + .../Nairobi- Tc opcodes-big_map_to_self.out | 56 + ...des-bls12_381_fr_push_bytes_not_padded.out | 16 + ...robi- Tc opcodes-bls12_381_fr_push_nat.out | 16 + ...airobi- Tc opcodes-bls12_381_fr_to_int.out | 14 + ...robi- Tc opcodes-bls12_381_fr_to_mutez.out | 21 + ...Nairobi- Tc opcodes-bls12_381_fr_z_int.out | 14 + ...Nairobi- Tc opcodes-bls12_381_fr_z_nat.out | 14 + ...Nairobi- Tc opcodes-bls12_381_z_fr_int.out | 16 + ...Nairobi- Tc opcodes-bls12_381_z_fr_nat.out | 16 + .../Nairobi- Tc opcodes-bytes.out | 12 + .../Nairobi- Tc opcodes-bytes_of_int.out | 126 + .../Nairobi- Tc opcodes-bytes_of_nat.out | 63 + .../Nairobi- Tc opcodes-car.out | 14 + .../Nairobi- Tc opcodes-cdr.out | 14 + .../Nairobi- Tc opcodes-chain_id.out | 16 + .../Nairobi- Tc opcodes-chain_id_store.out | 16 + .../Nairobi- Tc opcodes-check_signature.out | 34 + .../Nairobi- Tc opcodes-comb-get.out | 51 + .../Nairobi- Tc opcodes-comb-literals.out | 17 + .../Nairobi- Tc opcodes-comb-set-2.out | 26 + .../Nairobi- Tc opcodes-comb-set.out | 28 + .../Nairobi- Tc opcodes-comb.out | 18 + .../Nairobi- Tc opcodes-compare.out | 217 + .../Nairobi- Tc opcodes-compare_big_type.out | 3737 +++ .../Nairobi- Tc opcodes-compare_big_type2.out | 4302 ++++ .../Nairobi- Tc opcodes-comparisons.out | 65 + .../Nairobi- Tc opcodes-concat_hello.out | 14 + ...Nairobi- Tc opcodes-concat_hello_bytes.out | 14 + .../Nairobi- Tc opcodes-concat_list.out | 30 + .../Nairobi- Tc opcodes-cons.out | 14 + .../Nairobi- Tc opcodes-contains_all.out | 75 + .../Nairobi- Tc opcodes-contract.out | 19 + .../Nairobi- Tc opcodes-create_contract.out | 27 + ...i- Tc opcodes-create_contract_rootname.out | 29 + ...c opcodes-create_contract_rootname_alt.out | 29 + ...- Tc opcodes-create_contract_with_view.out | 30 + .../Nairobi- Tc opcodes-diff_timestamps.out | 20 + .../Nairobi- Tc opcodes-dig_eq.out | 157 + .../Nairobi- Tc opcodes-dign.out | 24 + .../Nairobi- Tc opcodes-dip.out | 20 + .../Nairobi- Tc opcodes-dipn.out | 32 + .../Nairobi- Tc opcodes-dropn.out | 22 + .../Nairobi- Tc opcodes-dugn.out | 30 + .../Nairobi- Tc opcodes-dup-n.out | 51 + .../Nairobi- Tc opcodes-ediv.out | 67 + .../Nairobi- Tc opcodes-ediv_mutez.out | 30 + .../Nairobi- Tc opcodes-emit.out | 34 + .../Nairobi- Tc opcodes-empty_map.out | 22 + .../Nairobi- Tc opcodes-exec_concat.out | 34 + .../Nairobi- Tc opcodes-fact.out | 38 + .../Nairobi- Tc opcodes-first.out | 13 + ...obi- Tc opcodes-get_and_update_big_map.out | 15 + ...Nairobi- Tc opcodes-get_and_update_map.out | 15 + .../Nairobi- Tc opcodes-get_big_map_value.out | 23 + .../Nairobi- Tc opcodes-get_map_value.out | 21 + ...i- Tc opcodes-hash_consistency_checker.out | 16 + .../Nairobi- Tc opcodes-hash_key.out | 16 + .../Nairobi- Tc opcodes-hash_string.out | 16 + .../Nairobi- Tc opcodes-if.out | 15 + .../Nairobi- Tc opcodes-if_some.out | 13 + .../Nairobi- Tc opcodes-int.out | 16 + .../Nairobi- Tc opcodes-iter_fail.out | 14 + .../Nairobi- Tc opcodes-keccak.out | 16 + .../Nairobi- Tc opcodes-left_right.out | 15 + .../Nairobi- Tc opcodes-level.out | 14 + .../Nairobi- Tc opcodes-list_concat.out | 18 + .../Nairobi- Tc opcodes-list_concat_bytes.out | 18 + .../Nairobi- Tc opcodes-list_id.out | 12 + .../Nairobi- Tc opcodes-list_id_map.out | 14 + .../Nairobi- Tc opcodes-list_iter.out | 18 + .../Nairobi- Tc opcodes-list_map_block.out | 25 + .../Nairobi- Tc opcodes-list_size.out | 14 + .../Nairobi- Tc opcodes-loop_failwith.out | 14 + .../Nairobi- Tc opcodes-loop_left.out | 40 + ...Nairobi- Tc opcodes-loop_left_failwith.out | 14 + .../Nairobi- Tc opcodes-lsl_bytes.out | 50 + .../Nairobi- Tc opcodes-lsr_bytes.out | 68 + .../Nairobi- Tc opcodes-map_car.out | 19 + .../Nairobi- Tc opcodes-map_id.out | 12 + .../Nairobi- Tc opcodes-map_iter.out | 38 + .../Nairobi- Tc opcodes-map_map.out | 23 + ...Nairobi- Tc opcodes-map_map_sideeffect.out | 35 + .../Nairobi- Tc opcodes-map_mem_nat.out | 22 + .../Nairobi- Tc opcodes-map_mem_string.out | 22 + .../Nairobi- Tc opcodes-map_size.out | 14 + ...obi- Tc opcodes-merge_comparable_pairs.out | 27 + .../Nairobi- Tc opcodes-mul.out | 82 + .../Nairobi- Tc opcodes-mul_bls12_381_fr.out | 18 + .../Nairobi- Tc opcodes-mul_bls12_381_g1.out | 18 + .../Nairobi- Tc opcodes-mul_bls12_381_g2.out | 18 + .../Nairobi- Tc opcodes-mul_overflow.out | 29 + .../Nairobi- Tc opcodes-munch.out | 13 + ...robi- Tc opcodes-mutez_to_bls12_381_fr.out | 25 + .../Nairobi- Tc opcodes-neg.out | 13 + .../Nairobi- Tc opcodes-neg_bls12_381_fr.out | 16 + .../Nairobi- Tc opcodes-neg_bls12_381_g1.out | 16 + .../Nairobi- Tc opcodes-neg_bls12_381_g2.out | 16 + .../Nairobi- Tc opcodes-none.out | 14 + .../Nairobi- Tc opcodes-noop.out | 12 + .../Nairobi- Tc opcodes-not.out | 16 + .../Nairobi- Tc opcodes-not_binary.out | 15 + .../Nairobi- Tc opcodes-not_bytes.out | 35 + .../Nairobi- Tc opcodes-or.out | 24 + .../Nairobi- Tc opcodes-or_binary.out | 18 + .../Nairobi- Tc opcodes-or_bytes.out | 41 + .../Nairobi- Tc opcodes-originate_big_map.out | 12 + .../Nairobi- Tc opcodes-packunpack.out | 27 + .../Nairobi- Tc opcodes-packunpack_rev.out | 162 + ...Nairobi- Tc opcodes-packunpack_rev_cty.out | 611 + .../Nairobi- Tc opcodes-pair_id.out | 14 + .../Nairobi- Tc opcodes-pairing_check.out | 16 + .../Nairobi- Tc opcodes-pexec.out | 23 + .../Nairobi- Tc opcodes-pexec_2.out | 41 + .../Nairobi- Tc opcodes-proxy.out | 20 + .../Nairobi- Tc opcodes-ret_int.out | 16 + .../Nairobi- Tc opcodes-reverse.out | 18 + .../Nairobi- Tc opcodes-reverse_loop.out | 32 + ...airobi- Tc opcodes-sapling_empty_state.out | 14 + .../Nairobi- Tc opcodes-self.out | 16 + .../Nairobi- Tc opcodes-self_address.out | 28 + ...Tc opcodes-self_address_after_fib_view.out | 38 + ...es-self_address_after_nonexistent_view.out | 36 + ...bi- Tc opcodes-self_address_after_view.out | 38 + ...airobi- Tc opcodes-self_after_fib_view.out | 40 + ...Tc opcodes-self_after_nonexistent_view.out | 38 + .../Nairobi- Tc opcodes-self_after_view.out | 40 + ...c opcodes-self_with_default_entrypoint.out | 31 + ...irobi- Tc opcodes-self_with_entrypoint.out | 68 + .../Nairobi- Tc opcodes-sender.out | 14 + ...robi- Tc opcodes-sender_after_fib_view.out | 38 + ... opcodes-sender_after_nonexistent_view.out | 36 + .../Nairobi- Tc opcodes-sender_after_view.out | 38 + .../Nairobi- Tc opcodes-set_car.out | 17 + .../Nairobi- Tc opcodes-set_cdr.out | 17 + .../Nairobi- Tc opcodes-set_delegate.out | 16 + .../Nairobi- Tc opcodes-set_id.out | 12 + .../Nairobi- Tc opcodes-set_iter.out | 18 + .../Nairobi- Tc opcodes-set_member.out | 32 + .../Nairobi- Tc opcodes-set_size.out | 14 + .../Nairobi- Tc opcodes-sets.out | 68 + .../Nairobi- Tc opcodes-sha3.out | 16 + .../Nairobi- Tc opcodes-shifts.out | 17 + .../Nairobi- Tc opcodes-slice.out | 22 + .../Nairobi- Tc opcodes-slice_bytes.out | 22 + .../Nairobi- Tc opcodes-slices.out | 116 + .../Nairobi- Tc opcodes-source.out | 14 + .../Nairobi- Tc opcodes-split_bytes.out | 71 + .../Nairobi- Tc opcodes-split_string.out | 71 + ...Nairobi- Tc opcodes-store_bls12_381_fr.out | 14 + ...Nairobi- Tc opcodes-store_bls12_381_g1.out | 14 + ...Nairobi- Tc opcodes-store_bls12_381_g2.out | 14 + .../Nairobi- Tc opcodes-store_input.out | 12 + .../Nairobi- Tc opcodes-store_now.out | 14 + .../Nairobi- Tc opcodes-str_id.out | 14 + ...airobi- Tc opcodes-sub_timestamp_delta.out | 20 + .../Nairobi- Tc opcodes-subset.out | 45 + .../Nairobi- Tc opcodes-tez_add_sub.out | 36 + .../Nairobi- Tc opcodes-ticket_bad.out | 12 + .../Nairobi- Tc opcodes-ticket_big_store.out | 25 + .../Nairobi- Tc opcodes-ticket_join.out | 23 + .../Nairobi- Tc opcodes-ticket_read.out | 24 + .../Nairobi- Tc opcodes-ticket_split.out | 39 + .../Nairobi- Tc opcodes-ticket_store-2.out | 12 + .../Nairobi- Tc opcodes-ticket_store.out | 14 + .../Nairobi- Tc opcodes-ticketer-2.out | 35 + .../Nairobi- Tc opcodes-ticketer.out | 35 + .../Nairobi- Tc opcodes-transfer_amount.out | 14 + .../Nairobi- Tc opcodes-transfer_tokens.out | 24 + .../Nairobi- Tc opcodes-uncomb.out | 28 + .../Nairobi- Tc opcodes-unpair.out | 322 + ...codes-unpair_field_annotation_mismatch.out | 28 + .../Nairobi- Tc opcodes-update_big_map.out | 18 + .../Nairobi- Tc opcodes-utxo_read.out | 26 + .../Nairobi- Tc opcodes-utxor.out | 93 + .../Nairobi- Tc opcodes-view_fib.out | 18 + ...robi- Tc opcodes-view_mutual_recursion.out | 22 + .../Nairobi- Tc opcodes-view_op_add.out | 17 + .../Nairobi- Tc opcodes-view_op_constant.out | 17 + .../Nairobi- Tc opcodes-view_op_id.out | 17 + ...i- Tc opcodes-view_op_nonexistent_addr.out | 21 + ...i- Tc opcodes-view_op_nonexistent_func.out | 19 + ... Tc opcodes-view_op_test_step_contants.out | 18 + ...ew_op_toplevel_inconsistent_input_type.out | 17 + ...w_op_toplevel_inconsistent_output_type.out | 19 + .../Nairobi- Tc opcodes-view_rec.out | 33 + .../Nairobi- Tc opcodes-view_toplevel_lib.out | 143 + .../Nairobi- Tc opcodes-voting_power.out | 20 + .../Nairobi- Tc opcodes-xor.out | 17 + .../Nairobi- Tc opcodes-xor_bytes.out | 41 + .../Nairobi- Create contract.out | 109 + .../Nairobi- set deposits limit.out | 26 + .../Nairobi- unset deposits limit.out | 26 + ...encoding regression test- block_header.out | 35 + ...ding regression test- block_header.raw.out | 26 + ...regression test- block_header.unsigned.out | 32 + ...col encoding regression test- contract.out | 12 + ...otocol encoding regression test- cycle.out | 12 + ...ocol encoding regression test- fitness.out | 11 + ...col encoding regression test- gas.cost.out | 12 + ...protocol encoding regression test- gas.out | 18 + ...otocol encoding regression test- level.out | 13 + ...otocol encoding regression test- nonce.out | 6 + ...ng regression test- operation.internal.out | 140 + ...ol encoding regression test- operation.out | 531 + ...ncoding regression test- operation.raw.out | 11 + ...ng regression test- operation.unsigned.out | 468 + ...tocol encoding regression test- period.out | 12 + ...ol encoding regression test- raw_level.out | 12 + ...rotocol encoding regression test- seed.out | 6 + ...protocol encoding regression test- tez.out | 12 + ...ol encoding regression test- timestamp.out | 6 + ... encoding regression test- vote.ballot.out | 18 + ...encoding regression test- vote.ballots.out | 10 + ...ncoding regression test- vote.listings.out | 16 + ...ng regression test- voting_period.kind.out | 24 + ...ncoding regression test- voting_period.out | 20 + ...bi- Test Michelson stack normalization.out | 468 + ...robi- Test normalize in unparsing mode.out | 14 + .../Nairobi- Test normalize script.out | 42 + .../Nairobi- Test normalize type.out | 24 + ...irobi- Test normalize with legacy flag.out | 10 + .../Nairobi- Test script hash regression.out | 444 + .../Nairobi- Self address transfer.out | 141 + .../Nairobi- Create and remove tickets.out | 220 + ...mart-contract rollup should succeed wi.out | 55 + ...rom implicit accounts must be rejected.out | 210 + ...inated contracts and implicit accounts.out | 387 + ... implicit accounts with some Tez along.out | 115 + ...plicit accounts with the wrong type mu.out | 195 + ...ts from contracts to implicit accounts.out | 111 + .../Nairobi- Send tickets in bigmap.out | 296 + ... contract storage to implicit accounts.out | 294 + ...rom implicit accounts must be rejected.out | 129 + ...mart-contract rollup should succeed wi.out | 111 + ...t accounts or originated contracts acc.out | 197 + ...rom implicit accounts must be rejected.out | 174 + tezt/tests/light.ml | 2 +- tezt/tests/proxy_server_test.ml | 2 +- tezt/tests/tickets.ml | 4 +- 828 files changed, 94111 insertions(+), 7 deletions(-) create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- contracts.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- delegates.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- mempool.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- misc_protocol.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- votes.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- contracts.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- delegates.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- misc_protocol.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- votes.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- contracts.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- delegates.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- mempool.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- misc_protocol.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- votes.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- contracts.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- delegates.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- votes.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- contracts.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- delegates.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out create mode 100644 tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- votes.out create mode 100644 tezt/tests/expected/contract_liquidity_baking.ml/Nairobi- Test add-approve-transfer-remove liquidity.out create mode 100644 tezt/tests/expected/contract_liquidity_baking.ml/Nairobi- Test trades.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpeq.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpge.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpgt.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmple.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmplt.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpneq.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_eq.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_ge.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_gt.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_le.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_lt.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_neq.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-big_map_get_add.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-big_map_mem.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-build_list.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-carn_and_cdrn.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-compare.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-compare_bytes.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-fail.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-guestbook.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-macro_annotations.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-map_caddaadr.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-max_in_list.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-min.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-pair_macro.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-set_caddaadr.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-take_my_money.out create mode 100644 tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-unpair_macro.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_big_map_origination.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_contract_fails.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_level.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_now.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_self.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_sender.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_set_delegate.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_slice.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_source.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_split_bytes.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_split_string.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_store_input.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_trace_origination_compare_big_type.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_trace_origination_compare_big_type2.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_transfer_amount.out create mode 100644 tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_transfer_tokens.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input254251340-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input420401245-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input680650890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input322109491-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input461261325-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input530006774-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input712570300-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input249636002-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input267363182-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input438561129-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input249636002-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input307538219-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input373737581-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -address--storage921624073--input117475800-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input106930123-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input181204719-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input223774825-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input908807505-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_binary--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_bytes--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input106930123-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input181204719-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input223774825-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input908807505-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -balance--storage492856247--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage495706788--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input564400327-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input654274102-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage690637660--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage806237530--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input1071610051-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input700475845-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input905318451-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage495706788--input700475845-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage915708427--input700475845-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage936682951--input905318451-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_push_bytes_not_padded--storage921624073--input125.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_push_nat--storage921624073--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input1043734173-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input151303925-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input520610122-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input558805129-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_mutez--storage680650890--input229402968-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage287336412--input1019409032-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage698210250--input949526473-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage739946440--input166435292-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage739946440--input583291483-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input1055524890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input564400327-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input585234482-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input680650890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input701858804-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage287336412--input1019409032-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage698210250--input949526473-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage739946440--input166435292-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage739946440--input583291483-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input1055524890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input564400327-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input680650890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage287336412--input1019409032-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage698210250--input949526473-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage739946440--input166435292-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage739946440--input583291483-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input1055524890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input564400327-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input585234482-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input680650890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input701858804-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage287336412--input1019409032-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage698210250--input949526473-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage739946440--input166435292-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage739946440--input583291483-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input1055524890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input564400327-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input680650890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bytes_of_int--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bytes_of_nat--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -car--storage680650890--input783124233-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cdr--storage680650890--input783124233-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage109160754--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage921624073--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage981066851--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb--storage950292965--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-get--storage125992234--input186507116-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-set--storage186507116--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-set-2--storage921624073--input186507116-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -compare--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comparisons--storage457300675--input281780712-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input392583650-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input640104625-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input354091714-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input441061063-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input264787654-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input316676251-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage457300675--input798141440-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage581876226--input166122047-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage793461282--input781487591-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input315650912-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input51111414-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input545734274-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input772794967-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input917967660-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input964818218-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contract--storage125992234--input117475800-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -create_contract--storage921624073--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1011138251-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1018564342-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1031049988-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input685590443-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dig_eq--storage125992234--input246866101-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dig_eq--storage125992234--input26856104-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dign--storage680650890--input529388602-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dip--storage1011138251--input590117173-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dip--storage1011138251--input850887554-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dipn--storage680650890--input529388602-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dropn--storage680650890--input529388602-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dugn--storage680650890--input529388602-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dup-n--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input247451205-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input250545589-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input79625541-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input147133089-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input215785357-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input389351431-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input44513000-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input635398196-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input734264738-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input993071382-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -emit--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -empty_map--storage457300675--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -exec_concat--storage398998998--input246262487-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -exec_concat--storage398998998--input79230375-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -first--storage492856247--input478406404-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -first--storage492856247--input962874972-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage1026405794--input329240220-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage382368661--input329240220-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage496578814--input329240220-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage496578814--input507231566-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage547821324--input329240220-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage796012494--input156280093-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage796012494--input228164856-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage139236239--input329240220-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage139236239--input79230375-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage329396864--input156280093-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_key--storage921624073--input1040351577-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_key--storage921624073--input153350004-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_string--storage151303925--input3431716-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_string--storage151303925--input535018041-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if--storage921624073--input570553153-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if--storage921624073--input954397288-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if_some--storage398998998--input288201633-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if_some--storage398998998--input921624073-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input535454136-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input680650890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -keccak--storage921624073--input1008262038-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -left_right--storage4177631--input202098045-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -left_right--storage4177631--input44576556-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -level--storage492856247--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat--storage717096222--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat--storage717096222--input546523343-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage149262694--input220724351-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage149262694--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage65410082--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage726220441--input972761363-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input264787654-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input656499821-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input264787654-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input656499821-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_iter--storage680650890--input568817463-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_iter--storage680650890--input737923774-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input648737279-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input908379154-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input403499055-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input469078912-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input802622031-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -loop_left--storage528921618--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -loop_left--storage528921618--input851203613-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -lsl_bytes--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -lsr_bytes--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input1027566226-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input276660554-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input599923743-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_iter--storage1011138251--input403579222-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_iter--storage1011138251--input532072758-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage457300675--input798141440-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage794999348--input152441147-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage88008216--input798141440-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage495706788--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input564400327-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input654274102-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage690637660--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage806237530--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input1071610051-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input700475845-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input905318451-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage495706788--input700475845-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage915708427--input700475845-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage936682951--input905318451-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input15265129-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input158311065-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input456982702-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mul--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mutez_to_bls12_381_fr--storage151303925--input216277421-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mutez_to_bls12_381_fr--storage287799761--input485842614-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input1067298059-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input380029349-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input563503226-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input788662499-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input972832189-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -none--storage11179311--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not--storage921624073--input570553153-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not--storage921624073--input954397288-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input1051197453-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input123939249-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input24243730-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input518945720-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input788662499-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input906118781-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input921874253-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input972832189-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_bytes--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input106930123-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input181204719-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input223774825-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input908807505-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input1056991424-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input375993021-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input673240563-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input747448890-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input832403787-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input858098961-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_bytes--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev--storage125992234--input305844558-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev--storage125992234--input646365167-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev_cty--storage125992234--input1028781121-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev_cty--storage125992234--input802670583-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input106930123-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input181204719-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input223774825-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input908807505-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pexec--storage256947135--input1050356042-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pexec_2--storage197120858--input179371027-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ret_int--storage921624073--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse--storage528921618--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse--storage528921618--input851203613-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse_loop--storage528921618--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse_loop--storage528921618--input851203613-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sapling_empty_state--storage457300675--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_address--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_with_default_entrypoint--storage125992234--input125992234.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_with_entrypoint--storage125992234--input289072903-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input620760059-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input717096222-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input79230375-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage205576101--input654274102-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage224747103--input453441034-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage611418174--input967284912-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input264787654-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input989507347-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input701684511-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input802622031-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage495706788--input33757838-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage550087893--input79230375-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage605111220--input33757838-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input403499055-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input457300675-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input469078912-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input802622031-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sha3--storage921624073--input1008262038-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input115382786-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input271566295-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input340971987-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input374168553-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input413621582-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input424849461-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input485030042-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input705767726-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input769385932-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input913715337-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage351480851--input65907686-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input198821575-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input359592843-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input551316239-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input722749044-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input839234860-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input919180079-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage921624073--input551316239-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input198821575-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input462551352-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input489157380-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input551316239-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input669330759-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input743596105-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input839234860-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage504917929--input65907686-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage921624073--input462551352-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -str_id--storage921624073--input1016369050-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -str_id--storage921624073--input93477117-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input249636002-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input307538219-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input831449542-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -tez_add_sub--storage921624073--input706350605-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -tez_add_sub--storage921624073--input856198194-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -uncomb--storage680650890--input394061083-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -unpair--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -voting_power--storage1011138251--input1040351577-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input1058477720-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input1073176155-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input246594902-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input506603577-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input576248088-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input612012282-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input617591686-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input639311176-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input688315180-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input967929605-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor_bytes--storage125992234--input125992234-.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- BALANCE.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- LEVEL.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- NOW.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- arithmetic_overflow.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- big_map_contract_io.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- check_signature.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- hash_consistency.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- map_map_side_effect.out create mode 100644 tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- pack_unpack.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-accounts.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-add1.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-add1_list.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-after_strategy.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-always.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-append.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-at_least.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-auction.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-bad_lockup.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-big_map_union.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cadr_annotation.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-concat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-conditionals.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cons_twice.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cps_fact.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-create_add1_lists.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-data_publisher.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-dispatch.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-empty.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-fail_amount.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-faucet.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-forward.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-infinite_loop.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-insertion_sort.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-int_publisher.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-king_of_tez.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-list_of_transactions.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-queue.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reduce_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reentrancy.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reservoir.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-scrutable_reservoir.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-spawn_identities.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-big_map_entrypoints.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-delegatable_target.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-manager.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-no_default_target.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-no_entrypoint_target.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-rooted_target.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-simple_entrypoints.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpeq.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpge.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpgt.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmple.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmplt.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpneq.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_eq.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_ge.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_gt.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_le.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_lt.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_neq.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-big_map_get_add.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-big_map_mem.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-build_list.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-carn_and_cdrn.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-compare.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-compare_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-fail.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-guestbook.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-macro_annotations.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-map_caddaadr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-max_in_list.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-min.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-pair_macro.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-set_caddaadr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-take_my_money.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-unpair_macro.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-999_constant.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-add_clear_tickets.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-always_fails.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-authentication.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_all.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_entrypoints.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_magic.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_read.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_store.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_write.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-cache_consistency.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-check_signature.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-constant_entrypoints.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-constant_unit.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-create_contract.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-create_contract_simple.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-default_account.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-emit_events.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_appender.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_caller.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_storer.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-fa12_reference.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-fail_on_false.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-generic_multisig.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-groth16.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-hardlimit.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_error.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_flat_contract.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_str_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-legacy_multisig.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-lockup.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-loop.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-lqt_fa12.mligo.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multiple_en2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multiple_entrypoints_counter.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multisig_dest_entrypoint.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multisig_dest_entrypoint_arg.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-nat_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-noop_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-originate_contract.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-parameterized_multisig.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-parsable_contract.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-receive_tickets_in_big_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-replay.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-reveal_signed_preimage.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-sc_rollup_forward.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-sc_rollup_mint_and_forward.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-self_address_receiver.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-self_address_sender.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_ticket_list.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_ticket_list_multiple.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_tickets_from_storage.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_tickets_in_big_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-smart_rollup_mint_and_deposit_ticket.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-smart_rollup_receive_tickets.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-str_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_builder_fungible.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_builder_non_fungible.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_wallet_fungible.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_wallet_non_fungible.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_bag.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_bag_implicit.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_blackhole.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_create_and_send.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_list_blackhole.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_receive_and_store.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_send.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_send_with_tez.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_store_fst_and_rely_snd.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tzip4_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-very_small.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-view_check_caller.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-view_registers_callers.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-viewable.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-vote_for_delegate.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-weather_insurance.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-xcat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-xcat_dapp.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-262_bug.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-843_bug.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-bad_annot_contract.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-pairk_annot.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-abs.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_fr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_g1.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_g2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_delta_timestamp.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_timestamp_delta.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-address.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_fib_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_nonexistent_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_binary.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_logical_1.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_fib_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_nonexistent_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_mem_nat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_mem_string.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_to_self.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_push_bytes_not_padded.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_push_nat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_to_int.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_to_mutez.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_z_int.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_z_nat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_z_fr_int.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_z_fr_nat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes_of_int.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes_of_nat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-car.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-cdr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-chain_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-chain_id_store.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-check_signature.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-get.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-literals.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-set-2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-set.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare_big_type.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare_big_type2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comparisons.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_hello.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_hello_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_list.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-cons.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-contains_all.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-contract.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_rootname.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_rootname_alt.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_with_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-diff_timestamps.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dig_eq.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dign.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dip.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dipn.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dropn.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dugn.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dup-n.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ediv.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ediv_mutez.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-emit.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-empty_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-exec_concat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-fact.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-first.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_and_update_big_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_and_update_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_big_map_value.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_map_value.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_consistency_checker.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_key.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_string.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-if.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-if_some.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-int.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-iter_fail.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-keccak.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-left_right.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-level.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_concat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_concat_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_id_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_iter.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_map_block.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_size.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_failwith.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_left.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_left_failwith.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-lsl_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-lsr_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_car.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_iter.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_map_sideeffect.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_mem_nat.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_mem_string.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_size.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-merge_comparable_pairs.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_fr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_g1.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_g2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_overflow.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-munch.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mutez_to_bls12_381_fr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_fr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_g1.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_g2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-none.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-noop.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not_binary.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or_binary.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-originate_big_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack_rev.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack_rev_cty.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pair_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pairing_check.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pexec.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pexec_2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-proxy.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ret_int.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-reverse.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-reverse_loop.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sapling_empty_state.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_fib_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_nonexistent_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_fib_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_nonexistent_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_with_default_entrypoint.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_with_entrypoint.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_fib_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_nonexistent_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_view.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_car.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_cdr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_delegate.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_iter.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_member.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_size.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sets.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sha3.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-shifts.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slice.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slice_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slices.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-source.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-split_bytes.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-split_string.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_fr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_g1.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_g2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_input.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_now.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-str_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sub_timestamp_delta.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-subset.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-tez_add_sub.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_bad.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_big_store.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_join.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_read.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_split.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_store-2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_store.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticketer-2.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticketer.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-transfer_amount.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-transfer_tokens.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-uncomb.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-unpair.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-unpair_field_annotation_mismatch.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-update_big_map.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-utxo_read.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-utxor.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_fib.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_mutual_recursion.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_add.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_constant.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_id.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_nonexistent_addr.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_nonexistent_func.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_test_step_contants.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_toplevel_inconsistent_input_type.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_toplevel_inconsistent_output_type.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_rec.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_toplevel_lib.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-voting_power.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-xor.out create mode 100644 tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-xor_bytes.out create mode 100644 tezt/tests/expected/create_contract.ml/Nairobi- Create contract.out create mode 100644 tezt/tests/expected/deposits_limit.ml/Nairobi- set deposits limit.out create mode 100644 tezt/tests/expected/deposits_limit.ml/Nairobi- unset deposits limit.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.raw.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.unsigned.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- contract.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- cycle.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- fitness.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- gas.cost.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- gas.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- level.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- nonce.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.internal.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.raw.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.unsigned.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- period.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- raw_level.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- seed.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- tez.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- timestamp.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.ballot.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.ballots.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.listings.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- voting_period.kind.out create mode 100644 tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- voting_period.out create mode 100644 tezt/tests/expected/normalize.ml/Nairobi- Test Michelson stack normalization.out create mode 100644 tezt/tests/expected/normalize.ml/Nairobi- Test normalize in unparsing mode.out create mode 100644 tezt/tests/expected/normalize.ml/Nairobi- Test normalize script.out create mode 100644 tezt/tests/expected/normalize.ml/Nairobi- Test normalize type.out create mode 100644 tezt/tests/expected/normalize.ml/Nairobi- Test normalize with legacy flag.out create mode 100644 tezt/tests/expected/script_hash_regression.ml/Nairobi- Test script hash regression.out create mode 100644 tezt/tests/expected/self_address_transfer.ml/Nairobi- Self address transfer.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Create and remove tickets.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Minting then sending tickets to smart-contract rollup should succeed wi.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Overdrafting ticket from implicit accounts must be rejected.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Send tickets between originated contracts and implicit accounts.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts with some Tez along.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts with the wrong type mu.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Send tickets in bigmap.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Sending ticket from contract storage to implicit accounts.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Sending ticket of wrong type from implicit accounts must be rejected.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Sending tickets from storage to smart-contract rollup should succeed wi.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Sending tickets to either implicit accounts or originated contracts acc.out create mode 100644 tezt/tests/expected/tickets.ml/Nairobi- Sending zero ticket from implicit accounts must be rejected.out diff --git a/tezt/lib_tezos/protocol.ml b/tezt/lib_tezos/protocol.ml index 3b85edf47000..05c0c6618d1c 100644 --- a/tezt/lib_tezos/protocol.ml +++ b/tezt/lib_tezos/protocol.ml @@ -181,7 +181,7 @@ let write_parameter_file : let next_protocol = function | Lima -> Some Mumbai - | Mumbai -> Some Alpha + | Mumbai -> Some Nairobi | Nairobi -> Some Alpha | Alpha -> None @@ -191,7 +191,7 @@ let previous_protocol = function | Mumbai -> Some Lima | Lima -> None -let all = [Alpha; Lima; Mumbai] +let all = [Alpha; Lima; Mumbai; Nairobi] type supported_protocols = | Any_protocol diff --git a/tezt/tests/RPC_test.ml b/tezt/tests/RPC_test.ml index 76e4cdcc1568..cf261c95f818 100644 --- a/tezt/tests/RPC_test.ml +++ b/tezt/tests/RPC_test.ml @@ -647,7 +647,7 @@ let test_misc_protocol _test_mode_tag protocol ?endpoint client = () in let* () = - if Protocol.(number protocol > number Mumbai) then + if Protocol.(number protocol > number Nairobi) then let* _ = RPC.Client.call ?endpoint ~hooks client @@ RPC.get_chain_block_helper_attestation_rights () diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- contracts.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- contracts.out new file mode 100644 index 000000000000..f0233dd45418 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- contracts.out @@ -0,0 +1,553 @@ + +./octez-client rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "3800000000000", + "delegate": "[PUBLIC_KEY_HASH]", "counter": "0" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"3800000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "0", "counter": "0" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "100000000", "counter": "1" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"100000000" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"1" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +null + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "99999566", "delegate": "[PUBLIC_KEY_HASH]", + "counter": "4" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"99999566" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"4" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": + { "prim": "Some", "args": [ { "string": "initial storage" } ] } } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": {} } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": { "prim": "Some", "args": [ { "string": "initial storage" } ] } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Some", "args": [ { "string": "initial storage" } ] } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", + "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": + [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": + { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": + { "rem_right": { "prim": "string" }, "rem_left": { "prim": "string" }, + "rem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%rem_left" ] }, + { "prim": "string", "annots": [ "%rem_right" ] } ] }, + "mem_right": { "prim": "string" }, "mem_left": { "prim": "string" }, + "mem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", "annots": [ "%mem_right" ] } ] }, + "default": { "prim": "unit" }, + "add_right": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add_left": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add": + { "prim": "or", + "args": + [ { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_right" ] } ] } } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "test" + }, + "type": { + "prim": "string" + } +}' +null + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "dup" + }, + "type": { + "prim": "string" + } +}' +null diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- delegates.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- delegates.out new file mode 100644 index 000000000000..11c9db29ab4c --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- delegates.out @@ -0,0 +1,95 @@ + +./octez-client rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +{ "full_balance": "4000000000000", "current_frozen_deposits": "200000000000", + "frozen_deposits": "200000000000", "staking_balance": "4000000000000", + "delegated_contracts": [ "[PUBLIC_KEY_HASH]" ], + "delegated_balance": "0", "deactivated": false, "grace_period": 5, + "voting_power": "4000000000000", "remaining_proposals": 20, + "active_consensus_key": "[PUBLIC_KEY_HASH]" } + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +"4000000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +"200000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +false + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +[ "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +5 + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +"4000000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +"4000000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +Fatal error: + Command failed: The implicit account ([PUBLIC_KEY_HASH]) whose balance was requested is not a registered delegate. To get the balance of this account you can use the ../context/contracts/[PUBLIC_KEY_HASH]/balance RPC. + The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- mempool.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- mempool.out new file mode 100644 index 000000000000..b333ded6eebe --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- mempool.out @@ -0,0 +1,380 @@ + +curl -s 'http://localhost:[PORT]/chains/main/mempool/monitor_operations?applied=true&outdated=true&branch_delayed=true&refused=true&branch_refused=true' +[] +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"branch","id":"proto.017-PtNairob.contract.counter_in_the_past","contract":"[PUBLIC_KEY_HASH]","expected":"2","found":"1"}]}] +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"5","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"temporary","id":"proto.017-PtNairob.contract.counter_in_the_future","contract":"[PUBLIC_KEY_HASH]","expected":"1","found":"5"}]}] +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"0","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]"}] +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]"}] + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true' +{ "applied": + [ { "hash": "[OPERATION_HASH]", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]" } ], + "refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", "fee": "0", + "counter": "1", "gas_limit": "1040", "storage_limit": "257", + "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "permanent", + "id": "proto.017-PtNairob.prefilter.fees_too_low" } ] } ], + "outdated": [], + "branch_refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "branch", + "id": "proto.017-PtNairob.contract.counter_in_the_past", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "2", "found": "1" } ] } ], + "branch_delayed": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "5", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "temporary", + "id": "proto.017-PtNairob.contract.counter_in_the_future", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "1", "found": "5" } ] } ], "unprocessed": [] } + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true&validation_pass=0' +{ "applied": [], "refused": [], "outdated": [], "branch_refused": [], + "branch_delayed": [], "unprocessed": [] } + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true&validation_pass=3' +{ "applied": + [ { "hash": "[OPERATION_HASH]", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]" } ], + "refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", "fee": "0", + "counter": "1", "gas_limit": "1040", "storage_limit": "257", + "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "permanent", + "id": "proto.017-PtNairob.prefilter.fees_too_low" } ] } ], + "outdated": [], + "branch_refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "branch", + "id": "proto.017-PtNairob.contract.counter_in_the_past", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "2", "found": "1" } ] } ], + "branch_delayed": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "5", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "temporary", + "id": "proto.017-PtNairob.contract.counter_in_the_future", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "1", "found": "5" } ] } ], "unprocessed": [] } + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true&validation_pass=0&validation_pass=3' +{ "applied": + [ { "hash": "[OPERATION_HASH]", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]" } ], + "refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", "fee": "0", + "counter": "1", "gas_limit": "1040", "storage_limit": "257", + "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "permanent", + "id": "proto.017-PtNairob.prefilter.fees_too_low" } ] } ], + "outdated": [], + "branch_refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "branch", + "id": "proto.017-PtNairob.contract.counter_in_the_past", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "2", "found": "1" } ] } ], + "branch_delayed": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "5", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "temporary", + "id": "proto.017-PtNairob.contract.counter_in_the_future", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "1", "found": "5" } ] } ], "unprocessed": [] } + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true&validation_pass=1&validation_pass=2' +{ "applied": [], "refused": [], "outdated": [], "branch_refused": [], + "branch_delayed": [], "unprocessed": [] } + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=false&outdated=false&branch_delayed=false&branch_refused=false' +{ "applied": + [ { "hash": "[OPERATION_HASH]", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]" } ], + "refused": [], "outdated": [], "branch_refused": [], "branch_delayed": [], + "unprocessed": [] } + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=false&refused=true&outdated=false&branch_delayed=false&branch_refused=false' +{ "applied": [], + "refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", "fee": "0", + "counter": "1", "gas_limit": "1040", "storage_limit": "257", + "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "permanent", + "id": "proto.017-PtNairob.prefilter.fees_too_low" } ] } ], + "outdated": [], "branch_refused": [], "branch_delayed": [], + "unprocessed": [] } + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=false&refused=false&outdated=false&branch_delayed=true&branch_refused=false' +{ "applied": [], "refused": [], "outdated": [], "branch_refused": [], + "branch_delayed": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "5", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "temporary", + "id": "proto.017-PtNairob.contract.counter_in_the_future", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "1", "found": "5" } ] } ], "unprocessed": [] } + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=false&refused=false&outdated=false&branch_delayed=false&branch_refused=true' +{ "applied": [], "refused": [], "outdated": [], + "branch_refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "branch", + "id": "proto.017-PtNairob.contract.counter_in_the_past", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "2", "found": "1" } ] } ], "branch_delayed": [], + "unprocessed": [] } + +./octez-client rpc get '/chains/main/mempool/pending_operations?version=1&applied=false&refused=false&outdated=true&branch_delayed=false&branch_refused=false' +{ "applied": [], "refused": [], "outdated": [], "branch_refused": [], + "branch_delayed": [], "unprocessed": [] } + +curl -s 'http://localhost:[PORT]/chains/main/mempool/monitor_operations?applied=true&outdated=true&branch_delayed=true&refused=true&branch_refused=true' +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]"},{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"0","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"permanent","id":"proto.017-PtNairob.prefilter.fees_too_low"}]},{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"branch","id":"proto.017-PtNairob.contract.counter_in_the_past","contract":"[PUBLIC_KEY_HASH]","expected":"2","found":"1"}]},{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"5","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"temporary","id":"proto.017-PtNairob.contract.counter_in_the_future","contract":"[PUBLIC_KEY_HASH]","expected":"1","found":"5"}]}] + +./octez-client rpc get /chains/main/mempool/filter +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get '/chains/main/mempool/filter?include_default=true' +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get '/chains/main/mempool/filter?include_default=false' +{} + +./octez-client rpc post /chains/main/mempool/filter with '{ + "minimal_fees": "50", + "minimal_nanotez_per_gas_unit": [ + "201", + "5" + ], + "minimal_nanotez_per_byte": [ + "56", + "3" + ], + "allow_script_failure": false +}' +{ "minimal_fees": "50", "minimal_nanotez_per_gas_unit": [ "201", "5" ], + "minimal_nanotez_per_byte": [ "56", "3" ], "allow_script_failure": false, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get /chains/main/mempool/filter +{ "minimal_fees": "50", "minimal_nanotez_per_gas_unit": [ "201", "5" ], + "minimal_nanotez_per_byte": [ "56", "3" ], "allow_script_failure": false, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get '/chains/main/mempool/filter?include_default=true' +{ "minimal_fees": "50", "minimal_nanotez_per_gas_unit": [ "201", "5" ], + "minimal_nanotez_per_byte": [ "56", "3" ], "allow_script_failure": false, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get '/chains/main/mempool/filter?include_default=false' +{ "minimal_fees": "50", "minimal_nanotez_per_gas_unit": [ "201", "5" ], + "minimal_nanotez_per_byte": [ "56", "3" ], "allow_script_failure": false } + +./octez-client rpc post /chains/main/mempool/filter with '{ + "minimal_fees": "200", + "allow_script_failure": true +}' +{ "minimal_fees": "200", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get /chains/main/mempool/filter +{ "minimal_fees": "200", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get '/chains/main/mempool/filter?include_default=true' +{ "minimal_fees": "200", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get '/chains/main/mempool/filter?include_default=false' +{ "minimal_fees": "200" } + +./octez-client rpc post /chains/main/mempool/filter with '{}' +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get /chains/main/mempool/filter +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get '/chains/main/mempool/filter?include_default=true' +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client rpc get '/chains/main/mempool/filter?include_default=false' +{} diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- misc_protocol.out new file mode 100644 index 000000000000..dee4a83c6cd7 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- misc_protocol.out @@ -0,0 +1,120 @@ + +./octez-client rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, + "smart_rollup_max_wrapped_proof_binary_size": 30000, + "smart_rollup_message_size_limit": 4096, + "smart_rollup_max_number_of_messages_per_level": "1000000", + "preserved_cycles": 2, "blocks_per_cycle": 8, "blocks_per_commitment": 4, + "nonce_revelation_threshold": 4, "blocks_per_stake_snapshot": 4, + "cycles_per_voting_period": 8, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "2600000", "proof_of_work_threshold": "-1", + "minimal_stake": "6000000000", "vdf_difficulty": "50000", + "seed_nonce_revelation_tip": "125000", "origination_size": 257, + "baking_reward_fixed_portion": "333333", + "baking_reward_bonus_per_slot": "3921", + "endorsing_reward_per_slot": "2604", "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "83333", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 240, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "max_slashing_period": 2, "frozen_deposits_percentage": 5, + "double_baking_punishment": "640000000", + "ratio_of_frozen_deposits_slashed_per_double_endorsement": + { "numerator": 1, "denominator": 2 }, "cache_script_size": 100000000, + "cache_stake_distribution_cycles": 8, "cache_sampler_state_cycles": 8, + "tx_rollup_enable": false, "tx_rollup_origination_size": 4000, + "tx_rollup_hard_size_limit_per_inbox": 500000, + "tx_rollup_hard_size_limit_per_message": 5000, + "tx_rollup_max_withdrawals_per_batch": 15, + "tx_rollup_commitment_bond": "10000000000", + "tx_rollup_finality_period": 40000, "tx_rollup_withdraw_period": 40000, + "tx_rollup_max_inboxes_count": 40100, + "tx_rollup_max_messages_per_inbox": 1010, + "tx_rollup_max_commitments_count": 80100, + "tx_rollup_cost_per_byte_ema_factor": 120, + "tx_rollup_max_ticket_payload_size": 2048, + "tx_rollup_rejection_max_proof_size": 30000, + "tx_rollup_sunset_level": 3473409, + "dal_parametric": + { "feature_enable": false, "number_of_slots": 16, "attestation_lag": 1, + "attestation_threshold": 50, "blocks_per_epoch": 2, + "redundancy_factor": 8, "page_size": 128, "slot_size": 32768, + "number_of_shards": 64 }, "smart_rollup_enable": true, + "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 80640, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 60, + "smart_rollup_max_lookahead_in_blocks": 172800, + "smart_rollup_max_active_outbox_levels": 80640, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 40320, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, + "zk_rollup_min_pending_to_process": 10 } + +./octez-client rpc get /chains/main/blocks/head/helpers/baking_rights +[ { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 0, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 1, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 3, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 10, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client rpc get '/chains/main/blocks/head/helpers/baking_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client rpc get '/chains/main/blocks/head/helpers/current_level?offset=0' +{ "level": 1, "level_position": 0, "cycle": 0, "cycle_position": 0, + "expected_commitment": false } + +./octez-client rpc get /chains/main/blocks/head/helpers/endorsing_rights +[ { "level": 1, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 11, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 4, "endorsing_power": 47, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 2, "endorsing_power": 46, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 1, "endorsing_power": 55, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 0, "endorsing_power": 58, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client rpc get '/chains/main/blocks/head/helpers/endorsing_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 1, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 11, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client rpc get /chains/main/blocks/head/helpers/levels_in_current_cycle +{ "first": 1, "last": 8 } diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- votes.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- votes.out new file mode 100644 index 000000000000..7a6be820083a --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode client) RPC regression tests- votes.out @@ -0,0 +1,78 @@ + +./octez-client rpc get /chains/main/blocks/head/votes/ballot_list +[] + +./octez-client rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "0", "nay": "0", "pass": "0" } + +./octez-client rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 1, "remaining": 2 } + +./octez-client rpc get /chains/main/blocks/head/votes/current_proposal +null + +./octez-client rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" } ] + +./octez-client rpc get /chains/main/blocks/head/votes/proposals +[ [ "ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp", "4000000000000" ] ] + +./octez-client rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 2, "remaining": 1 } + +./octez-client rpc get /chains/main/blocks/head/votes/total_voting_power +"20000000000000" + +./octez-client rpc get /chains/main/blocks/head/votes/ballot_list +[ { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "nay" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "pass" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "yay" } ] + +./octez-client rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "4000001978209", "nay": "4000000000000", "pass": "4000000000000" } + +./octez-client rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 0, "remaining": 3 } + +./octez-client rpc get /chains/main/blocks/head/votes/current_proposal +"ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp" + +./octez-client rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000001978209" } ] + +./octez-client rpc get /chains/main/blocks/head/votes/proposals +[] + +./octez-client rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 1, "remaining": 2 } + +./octez-client rpc get /chains/main/blocks/head/votes/total_voting_power +"20000001978209" diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- contracts.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- contracts.out new file mode 100644 index 000000000000..cd67573dc9ab --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- contracts.out @@ -0,0 +1,553 @@ + +./octez-client --mode light rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode light rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "3800000000000", + "delegate": "[PUBLIC_KEY_HASH]", "counter": "0" } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"3800000000000" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"0" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "0", "counter": "0" } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "100000000", "counter": "1" } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"100000000" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"1" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +null + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "99999566", "delegate": "[PUBLIC_KEY_HASH]", + "counter": "4" } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"99999566" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"4" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": + { "prim": "Some", "args": [ { "string": "initial storage" } ] } } } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": {} } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": { "prim": "Some", "args": [ { "string": "initial storage" } ] } } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Some", "args": [ { "string": "initial storage" } ] } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", + "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": + [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": + { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client --mode light rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": + { "rem_right": { "prim": "string" }, "rem_left": { "prim": "string" }, + "rem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%rem_left" ] }, + { "prim": "string", "annots": [ "%rem_right" ] } ] }, + "mem_right": { "prim": "string" }, "mem_left": { "prim": "string" }, + "mem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", "annots": [ "%mem_right" ] } ] }, + "default": { "prim": "unit" }, + "add_right": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add_left": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add": + { "prim": "or", + "args": + [ { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_right" ] } ] } } } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } + +./octez-client --mode light rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "test" + }, + "type": { + "prim": "string" + } +}' +null + +./octez-client --mode light rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "dup" + }, + "type": { + "prim": "string" + } +}' +null diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- delegates.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- delegates.out new file mode 100644 index 000000000000..bafaa8f0dfbd --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- delegates.out @@ -0,0 +1,95 @@ + +./octez-client --mode light rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode light rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +{ "full_balance": "4000000000000", "current_frozen_deposits": "200000000000", + "frozen_deposits": "200000000000", "staking_balance": "4000000000000", + "delegated_contracts": [ "[PUBLIC_KEY_HASH]" ], + "delegated_balance": "0", "deactivated": false, "grace_period": 5, + "voting_power": "4000000000000", "remaining_proposals": 20, + "active_consensus_key": "[PUBLIC_KEY_HASH]" } + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +"4000000000000" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +"200000000000" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +false + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +"0" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +[ "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +5 + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +"4000000000000" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +"4000000000000" + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +Fatal error: + Command failed: The implicit account ([PUBLIC_KEY_HASH]) whose balance was requested is not a registered delegate. To get the balance of this account you can use the ../context/contracts/[PUBLIC_KEY_HASH]/balance RPC. + The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode light rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- misc_protocol.out new file mode 100644 index 000000000000..dbe782d8770f --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- misc_protocol.out @@ -0,0 +1,120 @@ + +./octez-client --mode light rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, + "smart_rollup_max_wrapped_proof_binary_size": 30000, + "smart_rollup_message_size_limit": 4096, + "smart_rollup_max_number_of_messages_per_level": "1000000", + "preserved_cycles": 2, "blocks_per_cycle": 8, "blocks_per_commitment": 4, + "nonce_revelation_threshold": 4, "blocks_per_stake_snapshot": 4, + "cycles_per_voting_period": 8, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "2600000", "proof_of_work_threshold": "-1", + "minimal_stake": "6000000000", "vdf_difficulty": "50000", + "seed_nonce_revelation_tip": "125000", "origination_size": 257, + "baking_reward_fixed_portion": "333333", + "baking_reward_bonus_per_slot": "3921", + "endorsing_reward_per_slot": "2604", "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "83333", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 240, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "max_slashing_period": 2, "frozen_deposits_percentage": 5, + "double_baking_punishment": "640000000", + "ratio_of_frozen_deposits_slashed_per_double_endorsement": + { "numerator": 1, "denominator": 2 }, "cache_script_size": 100000000, + "cache_stake_distribution_cycles": 8, "cache_sampler_state_cycles": 8, + "tx_rollup_enable": false, "tx_rollup_origination_size": 4000, + "tx_rollup_hard_size_limit_per_inbox": 500000, + "tx_rollup_hard_size_limit_per_message": 5000, + "tx_rollup_max_withdrawals_per_batch": 15, + "tx_rollup_commitment_bond": "10000000000", + "tx_rollup_finality_period": 40000, "tx_rollup_withdraw_period": 40000, + "tx_rollup_max_inboxes_count": 40100, + "tx_rollup_max_messages_per_inbox": 1010, + "tx_rollup_max_commitments_count": 80100, + "tx_rollup_cost_per_byte_ema_factor": 120, + "tx_rollup_max_ticket_payload_size": 2048, + "tx_rollup_rejection_max_proof_size": 30000, + "tx_rollup_sunset_level": 3473409, + "dal_parametric": + { "feature_enable": false, "number_of_slots": 16, "attestation_lag": 1, + "attestation_threshold": 50, "blocks_per_epoch": 2, + "redundancy_factor": 8, "page_size": 128, "slot_size": 32768, + "number_of_shards": 64 }, "smart_rollup_enable": true, + "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 80640, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 60, + "smart_rollup_max_lookahead_in_blocks": 172800, + "smart_rollup_max_active_outbox_levels": 80640, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 40320, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, + "zk_rollup_min_pending_to_process": 10 } + +./octez-client --mode light rpc get /chains/main/blocks/head/helpers/baking_rights +[ { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 0, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 1, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 3, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 10, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client --mode light rpc get '/chains/main/blocks/head/helpers/baking_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client --mode light rpc get '/chains/main/blocks/head/helpers/current_level?offset=0' +{ "level": 1, "level_position": 0, "cycle": 0, "cycle_position": 0, + "expected_commitment": false } + +./octez-client --mode light rpc get /chains/main/blocks/head/helpers/endorsing_rights +[ { "level": 1, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 11, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 4, "endorsing_power": 47, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 2, "endorsing_power": 46, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 1, "endorsing_power": 55, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 0, "endorsing_power": 58, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client --mode light rpc get '/chains/main/blocks/head/helpers/endorsing_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 1, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 11, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client --mode light rpc get /chains/main/blocks/head/helpers/levels_in_current_cycle +{ "first": 1, "last": 8 } diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- votes.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- votes.out new file mode 100644 index 000000000000..ed1465430a6d --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode light) RPC regression tests- votes.out @@ -0,0 +1,78 @@ + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/ballot_list +[] + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "0", "nay": "0", "pass": "0" } + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 1, "remaining": 2 } + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/current_proposal +null + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" } ] + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/proposals +[ [ "ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp", "4000000000000" ] ] + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 2, "remaining": 1 } + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/total_voting_power +"20000000000000" + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/ballot_list +[ { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "nay" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "pass" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "yay" } ] + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "4000001978209", "nay": "4000000000000", "pass": "4000000000000" } + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 0, "remaining": 3 } + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/current_proposal +"ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp" + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000001978209" } ] + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/proposals +[] + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 1, "remaining": 2 } + +./octez-client --mode light rpc get /chains/main/blocks/head/votes/total_voting_power +"20000001978209" diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- contracts.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- contracts.out new file mode 100644 index 000000000000..f9a84fa41751 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- contracts.out @@ -0,0 +1,553 @@ + +./octez-client --mode proxy rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode proxy rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "3800000000000", + "delegate": "[PUBLIC_KEY_HASH]", "counter": "0" } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"3800000000000" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"0" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "0", "counter": "0" } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "100000000", "counter": "1" } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"100000000" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"1" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +null + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "99999566", "delegate": "[PUBLIC_KEY_HASH]", + "counter": "4" } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"99999566" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"4" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": + { "prim": "Some", "args": [ { "string": "initial storage" } ] } } } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": {} } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": { "prim": "Some", "args": [ { "string": "initial storage" } ] } } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Some", "args": [ { "string": "initial storage" } ] } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", + "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": + [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": + { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client --mode proxy rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": + { "rem_right": { "prim": "string" }, "rem_left": { "prim": "string" }, + "rem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%rem_left" ] }, + { "prim": "string", "annots": [ "%rem_right" ] } ] }, + "mem_right": { "prim": "string" }, "mem_left": { "prim": "string" }, + "mem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", "annots": [ "%mem_right" ] } ] }, + "default": { "prim": "unit" }, + "add_right": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add_left": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add": + { "prim": "or", + "args": + [ { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_right" ] } ] } } } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } + +./octez-client --mode proxy rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "test" + }, + "type": { + "prim": "string" + } +}' +null + +./octez-client --mode proxy rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "dup" + }, + "type": { + "prim": "string" + } +}' +null diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- delegates.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- delegates.out new file mode 100644 index 000000000000..50ec0944ea21 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- delegates.out @@ -0,0 +1,95 @@ + +./octez-client --mode proxy rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode proxy rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +{ "full_balance": "4000000000000", "current_frozen_deposits": "200000000000", + "frozen_deposits": "200000000000", "staking_balance": "4000000000000", + "delegated_contracts": [ "[PUBLIC_KEY_HASH]" ], + "delegated_balance": "0", "deactivated": false, "grace_period": 5, + "voting_power": "4000000000000", "remaining_proposals": 20, + "active_consensus_key": "[PUBLIC_KEY_HASH]" } + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +"4000000000000" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +"200000000000" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +false + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +"0" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +[ "[PUBLIC_KEY_HASH]" ] + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +5 + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +"4000000000000" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +"4000000000000" + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +Fatal error: + Command failed: The implicit account ([PUBLIC_KEY_HASH]) whose balance was requested is not a registered delegate. To get the balance of this account you can use the ../context/contracts/[PUBLIC_KEY_HASH]/balance RPC. + The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- mempool.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- mempool.out new file mode 100644 index 000000000000..e77fe441b2ec --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- mempool.out @@ -0,0 +1,380 @@ + +curl -s 'http://localhost:[PORT]/chains/main/mempool/monitor_operations?applied=true&outdated=true&branch_delayed=true&refused=true&branch_refused=true' +[] +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"branch","id":"proto.017-PtNairob.contract.counter_in_the_past","contract":"[PUBLIC_KEY_HASH]","expected":"2","found":"1"}]}] +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"5","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"temporary","id":"proto.017-PtNairob.contract.counter_in_the_future","contract":"[PUBLIC_KEY_HASH]","expected":"1","found":"5"}]}] +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"0","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]"}] +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]"}] + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true' +{ "applied": + [ { "hash": "[OPERATION_HASH]", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]" } ], + "refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", "fee": "0", + "counter": "1", "gas_limit": "1040", "storage_limit": "257", + "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "permanent", + "id": "proto.017-PtNairob.prefilter.fees_too_low" } ] } ], + "outdated": [], + "branch_refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "branch", + "id": "proto.017-PtNairob.contract.counter_in_the_past", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "2", "found": "1" } ] } ], + "branch_delayed": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "5", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "temporary", + "id": "proto.017-PtNairob.contract.counter_in_the_future", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "1", "found": "5" } ] } ], "unprocessed": [] } + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true&validation_pass=0' +{ "applied": [], "refused": [], "outdated": [], "branch_refused": [], + "branch_delayed": [], "unprocessed": [] } + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true&validation_pass=3' +{ "applied": + [ { "hash": "[OPERATION_HASH]", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]" } ], + "refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", "fee": "0", + "counter": "1", "gas_limit": "1040", "storage_limit": "257", + "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "permanent", + "id": "proto.017-PtNairob.prefilter.fees_too_low" } ] } ], + "outdated": [], + "branch_refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "branch", + "id": "proto.017-PtNairob.contract.counter_in_the_past", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "2", "found": "1" } ] } ], + "branch_delayed": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "5", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "temporary", + "id": "proto.017-PtNairob.contract.counter_in_the_future", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "1", "found": "5" } ] } ], "unprocessed": [] } + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true&validation_pass=0&validation_pass=3' +{ "applied": + [ { "hash": "[OPERATION_HASH]", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]" } ], + "refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", "fee": "0", + "counter": "1", "gas_limit": "1040", "storage_limit": "257", + "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "permanent", + "id": "proto.017-PtNairob.prefilter.fees_too_low" } ] } ], + "outdated": [], + "branch_refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "branch", + "id": "proto.017-PtNairob.contract.counter_in_the_past", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "2", "found": "1" } ] } ], + "branch_delayed": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "5", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "temporary", + "id": "proto.017-PtNairob.contract.counter_in_the_future", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "1", "found": "5" } ] } ], "unprocessed": [] } + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=true&outdated=true&branch_delayed=true&branch_refused=true&validation_pass=1&validation_pass=2' +{ "applied": [], "refused": [], "outdated": [], "branch_refused": [], + "branch_delayed": [], "unprocessed": [] } + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=true&refused=false&outdated=false&branch_delayed=false&branch_refused=false' +{ "applied": + [ { "hash": "[OPERATION_HASH]", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]" } ], + "refused": [], "outdated": [], "branch_refused": [], "branch_delayed": [], + "unprocessed": [] } + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=false&refused=true&outdated=false&branch_delayed=false&branch_refused=false' +{ "applied": [], + "refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", "fee": "0", + "counter": "1", "gas_limit": "1040", "storage_limit": "257", + "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "permanent", + "id": "proto.017-PtNairob.prefilter.fees_too_low" } ] } ], + "outdated": [], "branch_refused": [], "branch_delayed": [], + "unprocessed": [] } + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=false&refused=false&outdated=false&branch_delayed=true&branch_refused=false' +{ "applied": [], "refused": [], "outdated": [], "branch_refused": [], + "branch_delayed": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "5", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "temporary", + "id": "proto.017-PtNairob.contract.counter_in_the_future", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "1", "found": "5" } ] } ], "unprocessed": [] } + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=false&refused=false&outdated=false&branch_delayed=false&branch_refused=true' +{ "applied": [], "refused": [], "outdated": [], + "branch_refused": + [ { "hash": "[OPERATION_HASH]", + "protocol": "PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5", + "branch": "[BRANCH_HASH]", + "contents": + [ { "kind": "transaction", + "source": "[PUBLIC_KEY_HASH]", + "fee": "1000", "counter": "1", "gas_limit": "1040", + "storage_limit": "257", "amount": "1000000", + "destination": "[PUBLIC_KEY_HASH]" } ], + "signature": + "[SIGNATURE]", + "error": + [ { "kind": "branch", + "id": "proto.017-PtNairob.contract.counter_in_the_past", + "contract": "[PUBLIC_KEY_HASH]", + "expected": "2", "found": "1" } ] } ], "branch_delayed": [], + "unprocessed": [] } + +./octez-client --mode proxy rpc get '/chains/main/mempool/pending_operations?version=1&applied=false&refused=false&outdated=true&branch_delayed=false&branch_refused=false' +{ "applied": [], "refused": [], "outdated": [], "branch_refused": [], + "branch_delayed": [], "unprocessed": [] } + +curl -s 'http://localhost:[PORT]/chains/main/mempool/monitor_operations?applied=true&outdated=true&branch_delayed=true&refused=true&branch_refused=true' +[{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]"},{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"0","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"permanent","id":"proto.017-PtNairob.prefilter.fees_too_low"}]},{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"1","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"branch","id":"proto.017-PtNairob.contract.counter_in_the_past","contract":"[PUBLIC_KEY_HASH]","expected":"2","found":"1"}]},{"hash":"[OPERATION_HASH]","protocol":"PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5","branch":"[BRANCH_HASH]","contents":[{"kind":"transaction","source":"[PUBLIC_KEY_HASH]","fee":"1000","counter":"5","gas_limit":"1040","storage_limit":"257","amount":"1000000","destination":"[PUBLIC_KEY_HASH]"}],"signature":"[SIGNATURE]","error":[{"kind":"temporary","id":"proto.017-PtNairob.contract.counter_in_the_future","contract":"[PUBLIC_KEY_HASH]","expected":"1","found":"5"}]}] + +./octez-client --mode proxy rpc get /chains/main/mempool/filter +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get '/chains/main/mempool/filter?include_default=true' +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get '/chains/main/mempool/filter?include_default=false' +{} + +./octez-client --mode proxy rpc post /chains/main/mempool/filter with '{ + "minimal_fees": "50", + "minimal_nanotez_per_gas_unit": [ + "201", + "5" + ], + "minimal_nanotez_per_byte": [ + "56", + "3" + ], + "allow_script_failure": false +}' +{ "minimal_fees": "50", "minimal_nanotez_per_gas_unit": [ "201", "5" ], + "minimal_nanotez_per_byte": [ "56", "3" ], "allow_script_failure": false, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get /chains/main/mempool/filter +{ "minimal_fees": "50", "minimal_nanotez_per_gas_unit": [ "201", "5" ], + "minimal_nanotez_per_byte": [ "56", "3" ], "allow_script_failure": false, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get '/chains/main/mempool/filter?include_default=true' +{ "minimal_fees": "50", "minimal_nanotez_per_gas_unit": [ "201", "5" ], + "minimal_nanotez_per_byte": [ "56", "3" ], "allow_script_failure": false, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get '/chains/main/mempool/filter?include_default=false' +{ "minimal_fees": "50", "minimal_nanotez_per_gas_unit": [ "201", "5" ], + "minimal_nanotez_per_byte": [ "56", "3" ], "allow_script_failure": false } + +./octez-client --mode proxy rpc post /chains/main/mempool/filter with '{ + "minimal_fees": "200", + "allow_script_failure": true +}' +{ "minimal_fees": "200", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get /chains/main/mempool/filter +{ "minimal_fees": "200", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get '/chains/main/mempool/filter?include_default=true' +{ "minimal_fees": "200", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get '/chains/main/mempool/filter?include_default=false' +{ "minimal_fees": "200" } + +./octez-client --mode proxy rpc post /chains/main/mempool/filter with '{}' +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get /chains/main/mempool/filter +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get '/chains/main/mempool/filter?include_default=true' +{ "minimal_fees": "100", "minimal_nanotez_per_gas_unit": [ "100", "1" ], + "minimal_nanotez_per_byte": [ "1000", "1" ], "allow_script_failure": true, + "replace_by_fee_factor": [ "21", "20" ], + "max_prechecked_manager_operations": 5000 } + +./octez-client --mode proxy rpc get '/chains/main/mempool/filter?include_default=false' +{} diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- misc_protocol.out new file mode 100644 index 000000000000..880834e7ea6c --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- misc_protocol.out @@ -0,0 +1,120 @@ + +./octez-client --mode proxy rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, + "smart_rollup_max_wrapped_proof_binary_size": 30000, + "smart_rollup_message_size_limit": 4096, + "smart_rollup_max_number_of_messages_per_level": "1000000", + "preserved_cycles": 2, "blocks_per_cycle": 8, "blocks_per_commitment": 4, + "nonce_revelation_threshold": 4, "blocks_per_stake_snapshot": 4, + "cycles_per_voting_period": 8, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "2600000", "proof_of_work_threshold": "-1", + "minimal_stake": "6000000000", "vdf_difficulty": "50000", + "seed_nonce_revelation_tip": "125000", "origination_size": 257, + "baking_reward_fixed_portion": "333333", + "baking_reward_bonus_per_slot": "3921", + "endorsing_reward_per_slot": "2604", "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "83333", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 240, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "max_slashing_period": 2, "frozen_deposits_percentage": 5, + "double_baking_punishment": "640000000", + "ratio_of_frozen_deposits_slashed_per_double_endorsement": + { "numerator": 1, "denominator": 2 }, "cache_script_size": 100000000, + "cache_stake_distribution_cycles": 8, "cache_sampler_state_cycles": 8, + "tx_rollup_enable": false, "tx_rollup_origination_size": 4000, + "tx_rollup_hard_size_limit_per_inbox": 500000, + "tx_rollup_hard_size_limit_per_message": 5000, + "tx_rollup_max_withdrawals_per_batch": 15, + "tx_rollup_commitment_bond": "10000000000", + "tx_rollup_finality_period": 40000, "tx_rollup_withdraw_period": 40000, + "tx_rollup_max_inboxes_count": 40100, + "tx_rollup_max_messages_per_inbox": 1010, + "tx_rollup_max_commitments_count": 80100, + "tx_rollup_cost_per_byte_ema_factor": 120, + "tx_rollup_max_ticket_payload_size": 2048, + "tx_rollup_rejection_max_proof_size": 30000, + "tx_rollup_sunset_level": 3473409, + "dal_parametric": + { "feature_enable": false, "number_of_slots": 16, "attestation_lag": 1, + "attestation_threshold": 50, "blocks_per_epoch": 2, + "redundancy_factor": 8, "page_size": 128, "slot_size": 32768, + "number_of_shards": 64 }, "smart_rollup_enable": true, + "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 80640, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 60, + "smart_rollup_max_lookahead_in_blocks": 172800, + "smart_rollup_max_active_outbox_levels": 80640, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 40320, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, + "zk_rollup_min_pending_to_process": 10 } + +./octez-client --mode proxy rpc get /chains/main/blocks/head/helpers/baking_rights +[ { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 0, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 1, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 3, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 10, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/helpers/baking_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 2, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/helpers/current_level?offset=0' +{ "level": 1, "level_position": 0, "cycle": 0, "cycle_position": 0, + "expected_commitment": false } + +./octez-client --mode proxy rpc get /chains/main/blocks/head/helpers/endorsing_rights +[ { "level": 1, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 11, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 4, "endorsing_power": 47, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 2, "endorsing_power": 46, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 1, "endorsing_power": 55, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 0, "endorsing_power": 58, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client --mode proxy rpc get '/chains/main/blocks/head/helpers/endorsing_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 1, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 11, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client --mode proxy rpc get /chains/main/blocks/head/helpers/levels_in_current_cycle +{ "first": 1, "last": 8 } diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- votes.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- votes.out new file mode 100644 index 000000000000..3ad2df934604 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy) RPC regression tests- votes.out @@ -0,0 +1,78 @@ + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/ballot_list +[] + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "0", "nay": "0", "pass": "0" } + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 1, "remaining": 2 } + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/current_proposal +null + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" } ] + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/proposals +[ [ "ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp", "4000000000000" ] ] + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 2, "remaining": 1 } + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/total_voting_power +"20000000000000" + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/ballot_list +[ { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "nay" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "pass" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "yay" } ] + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "4000001978209", "nay": "4000000000000", "pass": "4000000000000" } + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 0, "remaining": 3 } + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/current_proposal +"ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp" + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000001978209" } ] + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/proposals +[] + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 1, "remaining": 2 } + +./octez-client --mode proxy rpc get /chains/main/blocks/head/votes/total_voting_power +"20000001978209" diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- contracts.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- contracts.out new file mode 100644 index 000000000000..f0233dd45418 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- contracts.out @@ -0,0 +1,553 @@ + +./octez-client rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "3800000000000", + "delegate": "[PUBLIC_KEY_HASH]", "counter": "0" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"3800000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "0", "counter": "0" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "100000000", "counter": "1" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"100000000" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"1" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +null + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "99999566", "delegate": "[PUBLIC_KEY_HASH]", + "counter": "4" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"99999566" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"4" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": + { "prim": "Some", "args": [ { "string": "initial storage" } ] } } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": {} } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": { "prim": "Some", "args": [ { "string": "initial storage" } ] } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Some", "args": [ { "string": "initial storage" } ] } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", + "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": + [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": + { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": + { "rem_right": { "prim": "string" }, "rem_left": { "prim": "string" }, + "rem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%rem_left" ] }, + { "prim": "string", "annots": [ "%rem_right" ] } ] }, + "mem_right": { "prim": "string" }, "mem_left": { "prim": "string" }, + "mem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", "annots": [ "%mem_right" ] } ] }, + "default": { "prim": "unit" }, + "add_right": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add_left": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add": + { "prim": "or", + "args": + [ { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_right" ] } ] } } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "test" + }, + "type": { + "prim": "string" + } +}' +null + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "dup" + }, + "type": { + "prim": "string" + } +}' +null diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- delegates.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- delegates.out new file mode 100644 index 000000000000..11c9db29ab4c --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- delegates.out @@ -0,0 +1,95 @@ + +./octez-client rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +{ "full_balance": "4000000000000", "current_frozen_deposits": "200000000000", + "frozen_deposits": "200000000000", "staking_balance": "4000000000000", + "delegated_contracts": [ "[PUBLIC_KEY_HASH]" ], + "delegated_balance": "0", "deactivated": false, "grace_period": 5, + "voting_power": "4000000000000", "remaining_proposals": 20, + "active_consensus_key": "[PUBLIC_KEY_HASH]" } + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +"4000000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +"200000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +false + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +[ "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +5 + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +"4000000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +"4000000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +Fatal error: + Command failed: The implicit account ([PUBLIC_KEY_HASH]) whose balance was requested is not a registered delegate. To get the balance of this account you can use the ../context/contracts/[PUBLIC_KEY_HASH]/balance RPC. + The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out new file mode 100644 index 000000000000..6b0bc08d4e49 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- misc_protocol.out @@ -0,0 +1,120 @@ + +./octez-client rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, + "smart_rollup_max_wrapped_proof_binary_size": 30000, + "smart_rollup_message_size_limit": 4096, + "smart_rollup_max_number_of_messages_per_level": "1000000", + "preserved_cycles": 2, "blocks_per_cycle": 8, "blocks_per_commitment": 4, + "nonce_revelation_threshold": 4, "blocks_per_stake_snapshot": 4, + "cycles_per_voting_period": 8, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "2600000", "proof_of_work_threshold": "-1", + "minimal_stake": "6000000000", "vdf_difficulty": "50000", + "seed_nonce_revelation_tip": "125000", "origination_size": 257, + "baking_reward_fixed_portion": "333333", + "baking_reward_bonus_per_slot": "3921", + "endorsing_reward_per_slot": "2604", "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "83333", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 240, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "max_slashing_period": 2, "frozen_deposits_percentage": 5, + "double_baking_punishment": "640000000", + "ratio_of_frozen_deposits_slashed_per_double_endorsement": + { "numerator": 1, "denominator": 2 }, "cache_script_size": 100000000, + "cache_stake_distribution_cycles": 8, "cache_sampler_state_cycles": 8, + "tx_rollup_enable": false, "tx_rollup_origination_size": 4000, + "tx_rollup_hard_size_limit_per_inbox": 500000, + "tx_rollup_hard_size_limit_per_message": 5000, + "tx_rollup_max_withdrawals_per_batch": 15, + "tx_rollup_commitment_bond": "10000000000", + "tx_rollup_finality_period": 40000, "tx_rollup_withdraw_period": 40000, + "tx_rollup_max_inboxes_count": 40100, + "tx_rollup_max_messages_per_inbox": 1010, + "tx_rollup_max_commitments_count": 80100, + "tx_rollup_cost_per_byte_ema_factor": 120, + "tx_rollup_max_ticket_payload_size": 2048, + "tx_rollup_rejection_max_proof_size": 30000, + "tx_rollup_sunset_level": 3473409, + "dal_parametric": + { "feature_enable": false, "number_of_slots": 16, "attestation_lag": 1, + "attestation_threshold": 50, "blocks_per_epoch": 2, + "redundancy_factor": 8, "page_size": 128, "slot_size": 32768, + "number_of_shards": 64 }, "smart_rollup_enable": true, + "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 80640, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 60, + "smart_rollup_max_lookahead_in_blocks": 172800, + "smart_rollup_max_active_outbox_levels": 80640, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 40320, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, + "zk_rollup_min_pending_to_process": 10 } + +./octez-client rpc get /chains/main/blocks/head/helpers/baking_rights +[ { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 0, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 1, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 3, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 4, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client rpc get '/chains/main/blocks/head/helpers/baking_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client rpc get '/chains/main/blocks/head/helpers/current_level?offset=0' +{ "level": 2, "level_position": 1, "cycle": 0, "cycle_position": 1, + "expected_commitment": false } + +./octez-client rpc get /chains/main/blocks/head/helpers/endorsing_rights +[ { "level": 2, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 10, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 3, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 2, "endorsing_power": 65, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 1, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 0, "endorsing_power": 41, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client rpc get '/chains/main/blocks/head/helpers/endorsing_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 2, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 1, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client rpc get /chains/main/blocks/head/helpers/levels_in_current_cycle +{ "first": 1, "last": 8 } diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- votes.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- votes.out new file mode 100644 index 000000000000..8c859f49f493 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_data_dir) RPC regression tests- votes.out @@ -0,0 +1,78 @@ + +./octez-client rpc get /chains/main/blocks/head/votes/ballot_list +[] + +./octez-client rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "0", "nay": "0", "pass": "0" } + +./octez-client rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 2, "remaining": 1 } + +./octez-client rpc get /chains/main/blocks/head/votes/current_proposal +null + +./octez-client rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" } ] + +./octez-client rpc get /chains/main/blocks/head/votes/proposals +[ [ "ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp", "4000000000000" ] ] + +./octez-client rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 3, "remaining": 0 } + +./octez-client rpc get /chains/main/blocks/head/votes/total_voting_power +"20000000000000" + +./octez-client rpc get /chains/main/blocks/head/votes/ballot_list +[ { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "nay" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "pass" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "yay" } ] + +./octez-client rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "4000001978209", "nay": "4000000000000", "pass": "4000000000000" } + +./octez-client rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 1, "remaining": 2 } + +./octez-client rpc get /chains/main/blocks/head/votes/current_proposal +"ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp" + +./octez-client rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000001978209" } ] + +./octez-client rpc get /chains/main/blocks/head/votes/proposals +[] + +./octez-client rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 2, "remaining": 1 } + +./octez-client rpc get /chains/main/blocks/head/votes/total_voting_power +"20000001978209" diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- contracts.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- contracts.out new file mode 100644 index 000000000000..f0233dd45418 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- contracts.out @@ -0,0 +1,553 @@ + +./octez-client rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "3800000000000", + "delegate": "[PUBLIC_KEY_HASH]", "counter": "0" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"3800000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "0", "counter": "0" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "100000000", "counter": "1" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"100000000" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"1" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +null + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]' +{ "balance": "99999566", "delegate": "[PUBLIC_KEY_HASH]", + "counter": "4" } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/balance' +"99999566" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/counter' +"4" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/manager_key' +"[PUBLIC_KEY]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/delegate' +"[PUBLIC_KEY_HASH]" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/entrypoints' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/script' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[PUBLIC_KEY_HASH]/storage' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": + { "prim": "Some", "args": [ { "string": "initial storage" } ] } } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": {} } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": { "prim": "Some", "args": [ { "string": "initial storage" } ] } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Some", "args": [ { "string": "initial storage" } ] } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]' +{ "balance": "0", + "script": + { "code": + [ { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", + "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": + [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": + "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": + { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/balance' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/counter' +Fatal error: + No service found at this URL + + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/manager_key' +Fatal error: + No service found at this URL + + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "int": "0" + }, + "type": { + "prim": "int" + } +}' +null + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/entrypoints' +{ "entrypoints": + { "rem_right": { "prim": "string" }, "rem_left": { "prim": "string" }, + "rem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%rem_left" ] }, + { "prim": "string", "annots": [ "%rem_right" ] } ] }, + "mem_right": { "prim": "string" }, "mem_left": { "prim": "string" }, + "mem": + { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", "annots": [ "%mem_right" ] } ] }, + "default": { "prim": "unit" }, + "add_right": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add_left": + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + "add": + { "prim": "or", + "args": + [ { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": [ { "prim": "string" }, { "prim": "nat" } ], + "annots": [ "%add_right" ] } ] } } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/script' +{ "code": + [ { "prim": "storage", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] }, + { "prim": "big_map", + "args": [ { "prim": "string" }, { "prim": "nat" } ] } ] } ] }, + { "prim": "parameter", + "args": + [ { "prim": "or", + "args": + [ { "prim": "unit", "annots": [ "%default" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "string", "annots": [ "%mem_left" ] }, + { "prim": "string", + "annots": [ "%mem_right" ] } ], + "annots": [ "%mem" ] }, + { "prim": "or", + "args": + [ { "prim": "or", + "args": + [ { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_left" ] }, + { "prim": "pair", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ], + "annots": [ "%add_right" ] } ], + "annots": [ "%add" ] }, + { "prim": "or", + "args": + [ { "prim": "string", + "annots": [ "%rem_left" ] }, + { "prim": "string", + "annots": [ "%rem_right" ] } ], + "annots": [ "%rem" ] } ] } ] } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DROP" }, { "prim": "DUP" }, + { "prim": "CAR" }, + { "prim": "PUSH", + "args": [ { "prim": "mutez" }, { "int": "0" } ] }, + { "prim": "NONE", "args": [ { "prim": "key_hash" } ] }, + { "prim": "CREATE_CONTRACT", + "args": + [ [ { "prim": "parameter", + "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "big_map", + "args": + [ { "prim": "string" }, + { "prim": "nat" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DROP" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] }, + { "prim": "DIP", "args": [ [ { "prim": "DROP" } ] ] }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "SWAP" }, { "prim": "CONS" }, + { "prim": "PAIR" } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ] ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": [ [ { "prim": "DUP" } ] ] }, + { "prim": "MEM" }, + [ { "prim": "IF", + "args": + [ [], + [ [ { "prim": "UNIT" }, + { "prim": "FAILWITH" } ] ] ] } ], + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "UNPAIR" }, + { "prim": "DIP", + "args": + [ { "int": "2" }, + [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "SOME" } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ], + [ { "prim": "IF_LEFT", + "args": + [ [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" } ], + [ { "prim": "DIP", + "args": + [ [ { "prim": "UNPAIR" }, + { "prim": "SWAP" } ] ] }, + { "prim": "DIP", + "args": + [ [ { "prim": "NONE", + "args": + [ { "prim": "nat" } ] } ] ] }, + { "prim": "UPDATE" }, + { "prim": "SWAP" } ] ] } ] ] } ] ] }, + { "prim": "PAIR" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ] ] } ], + "storage": { "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } } + +./octez-client rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "prim": "Pair", "args": [ { "int": "4" }, { "int": "5" } ] } + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "test" + }, + "type": { + "prim": "string" + } +}' +null + +./octez-client rpc post '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/big_map_get' with '{ + "key": { + "string": "dup" + }, + "type": { + "prim": "string" + } +}' +null diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- delegates.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- delegates.out new file mode 100644 index 000000000000..11c9db29ab4c --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- delegates.out @@ -0,0 +1,95 @@ + +./octez-client rpc get /chains/main/blocks/head/context/contracts +[ "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[CONTRACT_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get /chains/main/blocks/head/context/delegates +[ "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]", + "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +{ "full_balance": "4000000000000", "current_frozen_deposits": "200000000000", + "frozen_deposits": "200000000000", "staking_balance": "4000000000000", + "delegated_contracts": [ "[PUBLIC_KEY_HASH]" ], + "delegated_balance": "0", "deactivated": false, "grace_period": 5, + "voting_power": "4000000000000", "remaining_proposals": 20, + "active_consensus_key": "[PUBLIC_KEY_HASH]" } + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +"4000000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +"200000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +false + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +"0" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +[ "[PUBLIC_KEY_HASH]" ] + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +5 + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +"4000000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +"4000000000000" + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/full_balance' +Fatal error: + Command failed: The implicit account ([PUBLIC_KEY_HASH]) whose balance was requested is not a registered delegate. To get the balance of this account you can use the ../context/contracts/[PUBLIC_KEY_HASH]/balance RPC. + The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/frozen_deposits' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/deactivated' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/delegated_contracts' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/grace_period' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/staking_balance' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + + +./octez-client rpc get '/chains/main/blocks/head/context/delegates/[PUBLIC_KEY_HASH]/voting_power' +Fatal error: + Command failed: The provided public key hash ([PUBLIC_KEY_HASH]) is not the address of a registered delegate. If you own this account and want to register it as a delegate, use a delegation operation to delegate the account to itself. + diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out new file mode 100644 index 000000000000..6b0bc08d4e49 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- misc_protocol.out @@ -0,0 +1,120 @@ + +./octez-client rpc get /chains/main/blocks/head/context/constants +{ "proof_of_work_nonce_size": 8, "nonce_length": 32, + "max_anon_ops_per_block": 132, "max_operation_data_length": 32768, + "max_proposals_per_delegate": 20, "max_micheline_node_count": 50000, + "max_micheline_bytes_limit": 50000, + "max_allowed_global_constants_depth": 10000, "cache_layout_size": 3, + "michelson_maximum_type_size": 2001, + "smart_rollup_max_wrapped_proof_binary_size": 30000, + "smart_rollup_message_size_limit": 4096, + "smart_rollup_max_number_of_messages_per_level": "1000000", + "preserved_cycles": 2, "blocks_per_cycle": 8, "blocks_per_commitment": 4, + "nonce_revelation_threshold": 4, "blocks_per_stake_snapshot": 4, + "cycles_per_voting_period": 8, "hard_gas_limit_per_operation": "1040000", + "hard_gas_limit_per_block": "2600000", "proof_of_work_threshold": "-1", + "minimal_stake": "6000000000", "vdf_difficulty": "50000", + "seed_nonce_revelation_tip": "125000", "origination_size": 257, + "baking_reward_fixed_portion": "333333", + "baking_reward_bonus_per_slot": "3921", + "endorsing_reward_per_slot": "2604", "cost_per_byte": "250", + "hard_storage_limit_per_operation": "60000", "quorum_min": 2000, + "quorum_max": 7000, "min_proposal_quorum": 500, + "liquidity_baking_subsidy": "83333", + "liquidity_baking_toggle_ema_threshold": 1000000000, + "max_operations_time_to_live": 240, "minimal_block_delay": "1", + "delay_increment_per_round": "1", "consensus_committee_size": 256, + "consensus_threshold": 0, + "minimal_participation_ratio": { "numerator": 2, "denominator": 3 }, + "max_slashing_period": 2, "frozen_deposits_percentage": 5, + "double_baking_punishment": "640000000", + "ratio_of_frozen_deposits_slashed_per_double_endorsement": + { "numerator": 1, "denominator": 2 }, "cache_script_size": 100000000, + "cache_stake_distribution_cycles": 8, "cache_sampler_state_cycles": 8, + "tx_rollup_enable": false, "tx_rollup_origination_size": 4000, + "tx_rollup_hard_size_limit_per_inbox": 500000, + "tx_rollup_hard_size_limit_per_message": 5000, + "tx_rollup_max_withdrawals_per_batch": 15, + "tx_rollup_commitment_bond": "10000000000", + "tx_rollup_finality_period": 40000, "tx_rollup_withdraw_period": 40000, + "tx_rollup_max_inboxes_count": 40100, + "tx_rollup_max_messages_per_inbox": 1010, + "tx_rollup_max_commitments_count": 80100, + "tx_rollup_cost_per_byte_ema_factor": 120, + "tx_rollup_max_ticket_payload_size": 2048, + "tx_rollup_rejection_max_proof_size": 30000, + "tx_rollup_sunset_level": 3473409, + "dal_parametric": + { "feature_enable": false, "number_of_slots": 16, "attestation_lag": 1, + "attestation_threshold": 50, "blocks_per_epoch": 2, + "redundancy_factor": 8, "page_size": 128, "slot_size": 32768, + "number_of_shards": 64 }, "smart_rollup_enable": true, + "smart_rollup_arith_pvm_enable": false, + "smart_rollup_origination_size": 6314, + "smart_rollup_challenge_window_in_blocks": 80640, + "smart_rollup_stake_amount": "10000000000", + "smart_rollup_commitment_period_in_blocks": 60, + "smart_rollup_max_lookahead_in_blocks": 172800, + "smart_rollup_max_active_outbox_levels": 80640, + "smart_rollup_max_outbox_messages_per_level": 100, + "smart_rollup_number_of_sections_in_dissection": 32, + "smart_rollup_timeout_period_in_blocks": 40320, + "smart_rollup_max_number_of_cemented_commitments": 5, + "smart_rollup_max_number_of_parallel_games": 32, "zk_rollup_enable": false, + "zk_rollup_origination_size": 4000, + "zk_rollup_min_pending_to_process": 10 } + +./octez-client rpc get /chains/main/blocks/head/helpers/baking_rights +[ { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 0, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 1, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 3, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 4, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client rpc get '/chains/main/blocks/head/helpers/baking_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 3, "delegate": "[PUBLIC_KEY_HASH]", + "round": 2, "estimated_time": "[TIMESTAMP]", + "consensus_key": "[PUBLIC_KEY_HASH]" } ] + +./octez-client rpc get '/chains/main/blocks/head/helpers/current_level?offset=0' +{ "level": 2, "level_position": 1, "cycle": 0, "cycle_position": 1, + "expected_commitment": false } + +./octez-client rpc get /chains/main/blocks/head/helpers/endorsing_rights +[ { "level": 2, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 10, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 3, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 2, "endorsing_power": 65, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 1, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" }, + { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 0, "endorsing_power": 41, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client rpc get '/chains/main/blocks/head/helpers/endorsing_rights?delegate=[PUBLIC_KEY_HASH]' +[ { "level": 2, + "delegates": + [ { "delegate": "[PUBLIC_KEY_HASH]", + "first_slot": 1, "endorsing_power": 50, + "consensus_key": "[PUBLIC_KEY_HASH]" } ] } ] + +./octez-client rpc get /chains/main/blocks/head/helpers/levels_in_current_cycle +{ "first": 1, "last": 8 } diff --git a/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- votes.out b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- votes.out new file mode 100644 index 000000000000..8c859f49f493 --- /dev/null +++ b/tezt/tests/expected/RPC_test.ml/Nairobi- (mode proxy_server_rpc) RPC regression tests- votes.out @@ -0,0 +1,78 @@ + +./octez-client rpc get /chains/main/blocks/head/votes/ballot_list +[] + +./octez-client rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "0", "nay": "0", "pass": "0" } + +./octez-client rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 2, "remaining": 1 } + +./octez-client rpc get /chains/main/blocks/head/votes/current_proposal +null + +./octez-client rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" } ] + +./octez-client rpc get /chains/main/blocks/head/votes/proposals +[ [ "ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp", "4000000000000" ] ] + +./octez-client rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 0, "kind": "proposal", "start_position": 0 }, + "position": 3, "remaining": 0 } + +./octez-client rpc get /chains/main/blocks/head/votes/total_voting_power +"20000000000000" + +./octez-client rpc get /chains/main/blocks/head/votes/ballot_list +[ { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "nay" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "pass" }, + { "pkh": "[PUBLIC_KEY_HASH]", "ballot": "yay" } ] + +./octez-client rpc get /chains/main/blocks/head/votes/ballots +{ "yay": "4000001978209", "nay": "4000000000000", "pass": "4000000000000" } + +./octez-client rpc get /chains/main/blocks/head/votes/current_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 1, "remaining": 2 } + +./octez-client rpc get /chains/main/blocks/head/votes/current_proposal +"ProtoDemoNoopsDemoNoopsDemoNoopsDemoNoopsDemo6XBoYp" + +./octez-client rpc get /chains/main/blocks/head/votes/current_quorum +5500 + +./octez-client rpc get /chains/main/blocks/head/votes/listings +[ { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000000000000" }, + { "pkh": "[PUBLIC_KEY_HASH]", + "voting_power": "4000001978209" } ] + +./octez-client rpc get /chains/main/blocks/head/votes/proposals +[] + +./octez-client rpc get /chains/main/blocks/head/votes/successor_period +{ "voting_period": { "index": 1, "kind": "exploration", "start_position": 4 }, + "position": 2, "remaining": 1 } + +./octez-client rpc get /chains/main/blocks/head/votes/total_voting_power +"20000001978209" diff --git a/tezt/tests/expected/contract_liquidity_baking.ml/Nairobi- Test add-approve-transfer-remove liquidity.out b/tezt/tests/expected/contract_liquidity_baking.ml/Nairobi- Test add-approve-transfer-remove liquidity.out new file mode 100644 index 000000000000..8d09fb6b94d4 --- /dev/null +++ b/tezt/tests/expected/contract_liquidity_baking.ml/Nairobi- Test add-approve-transfer-remove liquidity.out @@ -0,0 +1,416 @@ + +./octez-client --mode mockup rpc get /chains/main/blocks/head/context/liquidity_baking/cpmm_address +"KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" + +./octez-client --mode mockup get contract storage for KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 +Pair 1 + 100 + 100 + "KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN" + "KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo" + +./octez-client --mode mockup call KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN from bootstrap1 --entrypoint mintOrBurn --arg '(Pair 100000000 "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 2388.634 units (will add 100 for safety) +Estimated storage: 71 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'ongN87ToSbYN8FBn1stmQPC3UVvgdHnuYoYStiz9oAdazJWJed8' +NOT waiting for the operation to be included. +Use command + octez-client wait for ongN87ToSbYN8FBn1stmQPC3UVvgdHnuYoYStiz9oAdazJWJed8 to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Fee to the baker: ꜩ0.000561 + Expected counter: 1 + Gas limit: 2489 + Storage limit: 91 bytes + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.000561 + payload fees(the block proposer) ....... +ꜩ0.000561 + Transaction: + Amount: ꜩ0 + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: mintOrBurn + Parameter: (Pair 100000000 "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(0)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 100000000 + Storage size: 1982 bytes + Paid storage size diff: 71 bytes + Consumed gas: 2389.041 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.01775 + storage fees ........................... +ꜩ0.01775 + + +./octez-client --mode mockup call KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN from bootstrap1 --entrypoint approve --arg '(Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000)' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 2390.337 units (will add 100 for safety) +Estimated storage: 71 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'oop7ZhZMc2cUPc2HsLRTzY4jWjGFYrWjohV2PzAVdKkvPBL1WCd' +NOT waiting for the operation to be included. +Use command + octez-client wait for oop7ZhZMc2cUPc2HsLRTzY4jWjGFYrWjohV2PzAVdKkvPBL1WCd to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Fee to the baker: ꜩ0.00056 + Expected counter: 2 + Gas limit: 2491 + Storage limit: 91 bytes + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.00056 + payload fees(the block proposer) ....... +ꜩ0.00056 + Transaction: + Amount: ꜩ0 + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: approve + Parameter: (Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(1)[(Pair 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 + 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 + Storage size: 2053 bytes + Paid storage size diff: 71 bytes + Consumed gas: 2390.744 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.01775 + storage fees ........................... +ꜩ0.01775 + + +./octez-client --mode mockup call KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN from bootstrap2 --entrypoint approve --arg '(Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000)' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 2390.337 units (will add 100 for safety) +Estimated storage: 71 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'oobmLSPx1d8uUyCPDKoVbcWm9PTbFrKd7Dr2oQcQ8kXDfaeu2Ti' +NOT waiting for the operation to be included. +Use command + octez-client wait for oobmLSPx1d8uUyCPDKoVbcWm9PTbFrKd7Dr2oQcQ8kXDfaeu2Ti to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + Fee to the baker: ꜩ0.00056 + Expected counter: 1 + Gas limit: 2491 + Storage limit: 91 bytes + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.00056 + payload fees(the block proposer) ....... +ꜩ0.00056 + Transaction: + Amount: ꜩ0 + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: approve + Parameter: (Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(1)[(Pair 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c + 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 + Storage size: 2124 bytes + Paid storage size diff: 71 bytes + Consumed gas: 2390.744 + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.01775 + storage fees ........................... +ꜩ0.01775 + + +./octez-client --mode mockup call KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN from bootstrap3 --entrypoint approve --arg '(Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000)' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 2390.337 units (will add 100 for safety) +Estimated storage: 71 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'oofp6BwSt7TqtaogYZGTMcWevnf8PYK1YGE43mBxmnLVgVv8XaX' +NOT waiting for the operation to be included. +Use command + octez-client wait for oofp6BwSt7TqtaogYZGTMcWevnf8PYK1YGE43mBxmnLVgVv8XaX to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU + Fee to the baker: ꜩ0.00056 + Expected counter: 1 + Gas limit: 2491 + Storage limit: 91 bytes + Balance updates: + tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU ... -ꜩ0.00056 + payload fees(the block proposer) ....... +ꜩ0.00056 + Transaction: + Amount: ꜩ0 + From: tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: approve + Parameter: (Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(1)[(Pair 0x0000dac9f52543da1aed0bc1d6b46bf7c10db7014cd6 + 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 + Storage size: 2195 bytes + Paid storage size diff: 71 bytes + Consumed gas: 2390.744 + Balance updates: + tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU ... -ꜩ0.01775 + storage fees ........................... +ꜩ0.01775 + + +./octez-client --mode mockup --wait none transfer 9001 from bootstrap1 to KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 --burn-cap 10 --entrypoint addLiquidity --arg '(Pair "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" 0 1000000000 "2050-01-01T00:00:00Z")' +Node is bootstrapped. +Estimated gas: 9525.659 units (will add 100 for safety) +Estimated storage: 147 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'oogW2v1pKn3Dtvr1iu5VcnLcaaWeYSd6rjA8m9VjjTHWzw5Tnnb' +NOT waiting for the operation to be included. +Use command + octez-client wait for oogW2v1pKn3Dtvr1iu5VcnLcaaWeYSd6rjA8m9VjjTHWzw5Tnnb to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Fee to the baker: ꜩ0.001318 + Expected counter: 3 + Gas limit: 9626 + Storage limit: 167 bytes + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.001318 + payload fees(the block proposer) ....... +ꜩ0.001318 + Transaction: + Amount: ꜩ9001 + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + To: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + Entrypoint: addLiquidity + Parameter: (Pair "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" 0 1000000000 "2050-01-01T00:00:00Z") + This transaction was successfully applied + Updated storage: + { 21599 ; + 9001416765 ; + 2159830 ; + 0x01e927f00ef734dfc85919635e9afc9166c83ef9fc00 ; + 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } + Storage size: 4635 bytes + Paid storage size diff: 6 bytes + Consumed gas: 1450.678 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.0015 + storage fees ........................... +ꜩ0.0015 + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ9001 + KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 ... +ꜩ9001 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: transfer + Parameter: (Pair 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 + (Pair 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 21598)) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(1)[(Pair 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 + 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 999978402 + Set map(0)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 99978402 + Set map(0)[0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600] to 21598 + Storage size: 2264 bytes + Paid storage size diff: 69 bytes + Consumed gas: 3704.271 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.01725 + storage fees ........................... +ꜩ0.01725 + Internal Transaction: + Amount: ꜩ0 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo + Entrypoint: mintOrBurn + Parameter: (Pair 2159730 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78) + This transaction was successfully applied + Updated storage: + { 2 ; 3 ; 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 ; 2159830 } + Updated big_maps: + Set map(2)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 2159730 + Storage size: 2050 bytes + Paid storage size diff: 72 bytes + Consumed gas: 2313.589 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.018 + storage fees ........................... +ꜩ0.018 + + +./octez-client --mode mockup call KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo from bootstrap1 --entrypoint approve --arg '(Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" 1000)' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 2390.116 units (will add 100 for safety) +Estimated storage: 68 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'opUDJbY5Df2cm1tW33WxWdC9t3FKKCRUWYv2Hgpr1xdF64BeStd' +NOT waiting for the operation to be included. +Use command + octez-client wait for opUDJbY5Df2cm1tW33WxWdC9t3FKKCRUWYv2Hgpr1xdF64BeStd to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Fee to the baker: ꜩ0.000557 + Expected counter: 4 + Gas limit: 2491 + Storage limit: 88 bytes + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.000557 + payload fees(the block proposer) ....... +ꜩ0.000557 + Transaction: + Amount: ꜩ0 + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + To: KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo + Entrypoint: approve + Parameter: (Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" 1000) + This transaction was successfully applied + Updated storage: + { 2 ; 3 ; 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 ; 2159830 } + Updated big_maps: + Set map(3)[(Pair 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 + 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c)] to 1000 + Storage size: 2118 bytes + Paid storage size diff: 68 bytes + Consumed gas: 2390.522 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.017 + storage fees ........................... +ꜩ0.017 + + +./octez-client --mode mockup call KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo from bootstrap2 --entrypoint transfer --arg '(Pair "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" 1000)' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 3754.960 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is 'opTGREPY311XcdRsrqjzWTLLL7dd3zAuyRDTdgAb1dDps2n9ZQg' +NOT waiting for the operation to be included. +Use command + octez-client wait for opTGREPY311XcdRsrqjzWTLLL7dd3zAuyRDTdgAb1dDps2n9ZQg to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + Fee to the baker: ꜩ0.000743 + Expected counter: 2 + Gas limit: 3855 + Storage limit: 0 bytes + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.000743 + payload fees(the block proposer) ....... +ꜩ0.000743 + Transaction: + Amount: ꜩ0 + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + To: KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo + Entrypoint: transfer + Parameter: (Pair "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" + 1000) + This transaction was successfully applied + Updated storage: + { 2 ; 3 ; 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 ; 2159830 } + Updated big_maps: + Unset map(3)[(Pair 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 + 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c)] + Set map(2)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 2158730 + Set map(2)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] to 1000 + Storage size: 2118 bytes + Consumed gas: 3755.367 + + +./octez-client --mode mockup call KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 from bootstrap2 --entrypoint removeLiquidity --arg '(Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" 1000 0 0 "2050-01-01T00:00:00Z")' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 9130.753 units (will add 100 for safety) +Estimated storage: 67 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'onxpVHHvvzyh4xFEMXTMyFMdpzrvmkd4MfgSwMpE5vtJRa4KzXn' +NOT waiting for the operation to be included. +Use command + octez-client wait for onxpVHHvvzyh4xFEMXTMyFMdpzrvmkd4MfgSwMpE5vtJRa4KzXn to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + Fee to the baker: ꜩ0.001276 + Expected counter: 3 + Gas limit: 9231 + Storage limit: 87 bytes + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.001276 + payload fees(the block proposer) ....... +ꜩ0.001276 + Transaction: + Amount: ꜩ0 + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + To: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + Entrypoint: removeLiquidity + Parameter: (Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" 1000 0 0 "2050-01-01T00:00:00Z") + This transaction was successfully applied + Updated storage: + { 21589 ; + 8997498998 ; + 2158830 ; + 0x01e927f00ef734dfc85919635e9afc9166c83ef9fc00 ; + 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } + Storage size: 4635 bytes + Consumed gas: 1452.184 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo + Entrypoint: mintOrBurn + Parameter: (Pair -1000 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c) + This transaction was successfully applied + Updated storage: + { 2 ; 3 ; 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 ; 2158830 } + Updated big_maps: + Unset map(2)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] + Storage size: 2050 bytes + Consumed gas: 2513.548 + Internal Transaction: + Amount: ꜩ0 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: transfer + Parameter: (Pair 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 + (Pair 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c 10)) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(0)[0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600] to 21588 + Set map(0)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] to 10 + Storage size: 2331 bytes + Paid storage size diff: 67 bytes + Consumed gas: 3007.616 + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.01675 + storage fees ........................... +ꜩ0.01675 + Internal Transaction: + Amount: ꜩ4.167766 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + This transaction was successfully applied + Consumed gas: 100 + Balance updates: + KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 ... -ꜩ4.167766 + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... +ꜩ4.167766 + + +./octez-client --mode mockup get contract storage for KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo +Pair 2 3 "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 2158830 + +./octez-client --mode mockup get contract storage for KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN +Pair 0 1 "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" 100010000 diff --git a/tezt/tests/expected/contract_liquidity_baking.ml/Nairobi- Test trades.out b/tezt/tests/expected/contract_liquidity_baking.ml/Nairobi- Test trades.out new file mode 100644 index 000000000000..9b7e7029fce0 --- /dev/null +++ b/tezt/tests/expected/contract_liquidity_baking.ml/Nairobi- Test trades.out @@ -0,0 +1,446 @@ + +./octez-client --mode mockup rpc get /chains/main/blocks/head/context/liquidity_baking/cpmm_address +"KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" + +./octez-client --mode mockup get contract storage for KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 +Pair 1 + 100 + 100 + "KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN" + "KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo" + +./octez-client --mode mockup call KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN from bootstrap1 --entrypoint mintOrBurn --arg '(Pair 100000000 "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 2388.634 units (will add 100 for safety) +Estimated storage: 71 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'ongN87ToSbYN8FBn1stmQPC3UVvgdHnuYoYStiz9oAdazJWJed8' +NOT waiting for the operation to be included. +Use command + octez-client wait for ongN87ToSbYN8FBn1stmQPC3UVvgdHnuYoYStiz9oAdazJWJed8 to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Fee to the baker: ꜩ0.000561 + Expected counter: 1 + Gas limit: 2489 + Storage limit: 91 bytes + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.000561 + payload fees(the block proposer) ....... +ꜩ0.000561 + Transaction: + Amount: ꜩ0 + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: mintOrBurn + Parameter: (Pair 100000000 "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(0)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 100000000 + Storage size: 1982 bytes + Paid storage size diff: 71 bytes + Consumed gas: 2389.041 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.01775 + storage fees ........................... +ꜩ0.01775 + + +./octez-client --mode mockup call KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN from bootstrap1 --entrypoint approve --arg '(Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000)' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 2390.337 units (will add 100 for safety) +Estimated storage: 71 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'oop7ZhZMc2cUPc2HsLRTzY4jWjGFYrWjohV2PzAVdKkvPBL1WCd' +NOT waiting for the operation to be included. +Use command + octez-client wait for oop7ZhZMc2cUPc2HsLRTzY4jWjGFYrWjohV2PzAVdKkvPBL1WCd to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Fee to the baker: ꜩ0.00056 + Expected counter: 2 + Gas limit: 2491 + Storage limit: 91 bytes + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.00056 + payload fees(the block proposer) ....... +ꜩ0.00056 + Transaction: + Amount: ꜩ0 + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: approve + Parameter: (Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(1)[(Pair 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 + 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 + Storage size: 2053 bytes + Paid storage size diff: 71 bytes + Consumed gas: 2390.744 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.01775 + storage fees ........................... +ꜩ0.01775 + + +./octez-client --mode mockup call KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN from bootstrap2 --entrypoint approve --arg '(Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000)' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 2390.337 units (will add 100 for safety) +Estimated storage: 71 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'oobmLSPx1d8uUyCPDKoVbcWm9PTbFrKd7Dr2oQcQ8kXDfaeu2Ti' +NOT waiting for the operation to be included. +Use command + octez-client wait for oobmLSPx1d8uUyCPDKoVbcWm9PTbFrKd7Dr2oQcQ8kXDfaeu2Ti to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + Fee to the baker: ꜩ0.00056 + Expected counter: 1 + Gas limit: 2491 + Storage limit: 91 bytes + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.00056 + payload fees(the block proposer) ....... +ꜩ0.00056 + Transaction: + Amount: ꜩ0 + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: approve + Parameter: (Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(1)[(Pair 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c + 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 + Storage size: 2124 bytes + Paid storage size diff: 71 bytes + Consumed gas: 2390.744 + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.01775 + storage fees ........................... +ꜩ0.01775 + + +./octez-client --mode mockup call KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN from bootstrap3 --entrypoint approve --arg '(Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000)' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 2390.337 units (will add 100 for safety) +Estimated storage: 71 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'oofp6BwSt7TqtaogYZGTMcWevnf8PYK1YGE43mBxmnLVgVv8XaX' +NOT waiting for the operation to be included. +Use command + octez-client wait for oofp6BwSt7TqtaogYZGTMcWevnf8PYK1YGE43mBxmnLVgVv8XaX to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU + Fee to the baker: ꜩ0.00056 + Expected counter: 1 + Gas limit: 2491 + Storage limit: 91 bytes + Balance updates: + tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU ... -ꜩ0.00056 + payload fees(the block proposer) ....... +ꜩ0.00056 + Transaction: + Amount: ꜩ0 + From: tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: approve + Parameter: (Pair "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 1000000000) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(1)[(Pair 0x0000dac9f52543da1aed0bc1d6b46bf7c10db7014cd6 + 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 1000000000 + Storage size: 2195 bytes + Paid storage size diff: 71 bytes + Consumed gas: 2390.744 + Balance updates: + tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU ... -ꜩ0.01775 + storage fees ........................... +ꜩ0.01775 + + +./octez-client --mode mockup --wait none transfer 9001 from bootstrap1 to KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 --burn-cap 10 --entrypoint addLiquidity --arg '(Pair "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" 0 1000000000 "2050-01-01T00:00:00Z")' +Node is bootstrapped. +Estimated gas: 9525.659 units (will add 100 for safety) +Estimated storage: 147 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'oogW2v1pKn3Dtvr1iu5VcnLcaaWeYSd6rjA8m9VjjTHWzw5Tnnb' +NOT waiting for the operation to be included. +Use command + octez-client wait for oogW2v1pKn3Dtvr1iu5VcnLcaaWeYSd6rjA8m9VjjTHWzw5Tnnb to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Fee to the baker: ꜩ0.001318 + Expected counter: 3 + Gas limit: 9626 + Storage limit: 167 bytes + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.001318 + payload fees(the block proposer) ....... +ꜩ0.001318 + Transaction: + Amount: ꜩ9001 + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + To: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + Entrypoint: addLiquidity + Parameter: (Pair "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" 0 1000000000 "2050-01-01T00:00:00Z") + This transaction was successfully applied + Updated storage: + { 21599 ; + 9001416765 ; + 2159830 ; + 0x01e927f00ef734dfc85919635e9afc9166c83ef9fc00 ; + 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } + Storage size: 4635 bytes + Paid storage size diff: 6 bytes + Consumed gas: 1450.678 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.0015 + storage fees ........................... +ꜩ0.0015 + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ9001 + KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 ... +ꜩ9001 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: transfer + Parameter: (Pair 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 + (Pair 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 21598)) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(1)[(Pair 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 + 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 999978402 + Set map(0)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 99978402 + Set map(0)[0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600] to 21598 + Storage size: 2264 bytes + Paid storage size diff: 69 bytes + Consumed gas: 3704.271 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.01725 + storage fees ........................... +ꜩ0.01725 + Internal Transaction: + Amount: ꜩ0 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo + Entrypoint: mintOrBurn + Parameter: (Pair 2159730 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78) + This transaction was successfully applied + Updated storage: + { 2 ; 3 ; 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 ; 2159830 } + Updated big_maps: + Set map(2)[0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78] to 2159730 + Storage size: 2050 bytes + Paid storage size diff: 72 bytes + Consumed gas: 2313.589 + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.018 + storage fees ........................... +ꜩ0.018 + + +./octez-client --mode mockup --wait none transfer 9001 from bootstrap2 to KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 --burn-cap 10 --entrypoint xtzToToken --arg '(Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" 0 "2050-01-01T00:00:00Z")' +Node is bootstrapped. +Estimated gas: 6085.236 units (will add 100 for safety) +Estimated storage: 327 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'opJzMCRwQL78gwS4RocbUuF9ADaa1iMLmGGKKzPVM23TYxENQtg' +NOT waiting for the operation to be included. +Use command + octez-client wait for opJzMCRwQL78gwS4RocbUuF9ADaa1iMLmGGKKzPVM23TYxENQtg to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + Fee to the baker: ꜩ0.000966 + Expected counter: 2 + Gas limit: 6186 + Storage limit: 347 bytes + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.000966 + payload fees(the block proposer) ....... +ꜩ0.000966 + Transaction: + Amount: ꜩ9001 + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + To: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + Entrypoint: xtzToToken + Parameter: (Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" 0 "2050-01-01T00:00:00Z") + This transaction was successfully applied + Updated storage: + { 10811 ; + 17993499098 ; + 2159830 ; + 0x01e927f00ef734dfc85919635e9afc9166c83ef9fc00 ; + 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } + Storage size: 4636 bytes + Paid storage size diff: 1 bytes + Consumed gas: 920.213 + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.00025 + storage fees ........................... +ꜩ0.00025 + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ9001 + KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 ... +ꜩ9001 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: transfer + Parameter: (Pair 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 + (Pair 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c 10788)) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(0)[0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600] to 10810 + Set map(0)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] to 10788 + Storage size: 2333 bytes + Paid storage size diff: 69 bytes + Consumed gas: 3007.650 + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.01725 + storage fees ........................... +ꜩ0.01725 + Internal Transaction: + Amount: ꜩ9.001 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU + This transaction was successfully applied + Consumed gas: 100 + Balance updates: + KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 ... -ꜩ9.001 + tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU ... +ꜩ9.001 + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + + +./octez-client --mode mockup call KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN from bootstrap2 --entrypoint transfer --arg '(Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" "tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU" 100)' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 3088.706 units (will add 100 for safety) +Estimated storage: 68 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is 'ooebftAAV6WwH78cCEkxxuZCadxj6whb2W98JmwJ3fMinMgWGZh' +NOT waiting for the operation to be included. +Use command + octez-client wait for ooebftAAV6WwH78cCEkxxuZCadxj6whb2W98JmwJ3fMinMgWGZh to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + Fee to the baker: ꜩ0.000676 + Expected counter: 3 + Gas limit: 3189 + Storage limit: 88 bytes + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.000676 + payload fees(the block proposer) ....... +ꜩ0.000676 + Transaction: + Amount: ꜩ0 + From: tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: transfer + Parameter: (Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" + "tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU" + 100) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(0)[0x0000dac9f52543da1aed0bc1d6b46bf7c10db7014cd6] to 100 + Set map(0)[0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c] to 10688 + Storage size: 2401 bytes + Paid storage size diff: 68 bytes + Consumed gas: 3089.113 + Balance updates: + tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN ... -ꜩ0.017 + storage fees ........................... +ꜩ0.017 + + +./octez-client --mode mockup call KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 from bootstrap3 --entrypoint tokenToXtz --arg '(Pair "tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU" 100 0 "2050-01-01T00:00:00Z")' --burn-cap 10 +Node is bootstrapped. +Estimated gas: 7082.329 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is 'opJHQtGsMm6n6hsovsN5LeksJQjisvdJmfJGFhrkn57YhnnUHXX' +NOT waiting for the operation to be included. +Use command + octez-client wait for opJHQtGsMm6n6hsovsN5LeksJQjisvdJmfJGFhrkn57YhnnUHXX to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisCCCCCeZiLHU +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU + Fee to the baker: ꜩ0.001064 + Expected counter: 2 + Gas limit: 7183 + Storage limit: 0 bytes + Balance updates: + tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU ... -ꜩ0.001064 + payload fees(the block proposer) ....... +ꜩ0.001064 + Transaction: + Amount: ꜩ0 + From: tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU + To: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + Entrypoint: tokenToXtz + Parameter: (Pair "tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU" 100 0 "2050-01-01T00:00:00Z") + This transaction was successfully applied + Updated storage: + { 10911 ; + 17828916091 ; + 2159830 ; + 0x01e927f00ef734dfc85919635e9afc9166c83ef9fc00 ; + 0x0115eb0104481a6d7921160bc982c5e0a561cd8a3a00 } + Storage size: 4636 bytes + Consumed gas: 920.795 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN + Entrypoint: transfer + Parameter: (Pair 0x0000dac9f52543da1aed0bc1d6b46bf7c10db7014cd6 + (Pair 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600 100)) + This transaction was successfully applied + Updated storage: + { 0 ; 1 ; 0x000002298c03ed7d454a101eb7022bc95f7e5f41ac78 ; 100010000 } + Updated big_maps: + Set map(1)[(Pair 0x0000dac9f52543da1aed0bc1d6b46bf7c10db7014cd6 + 0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600)] to 999999900 + Unset map(0)[0x0000dac9f52543da1aed0bc1d6b46bf7c10db7014cd6] + Set map(0)[0x01d496def47a3be89f5d54c6e6bb13cc6645d6e16600] to 10910 + Storage size: 2333 bytes + Consumed gas: 3904.087 + Internal Transaction: + Amount: ꜩ164.584923 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU + This transaction was successfully applied + Consumed gas: 100 + Balance updates: + KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 ... -ꜩ164.584923 + tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU ... +ꜩ164.584923 + Internal Transaction: + Amount: ꜩ0.16475 + From: KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 + To: tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU + This transaction was successfully applied + Consumed gas: 100 + Balance updates: + KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5 ... -ꜩ0.16475 + tz1Ke2h7sDdakHJQh8WX4Z372du1KChsksyU ... +ꜩ0.16475 + + +./octez-client --mode mockup get contract storage for KT1AafHA1C1vk959wvHWBispY9Y2f3fxBUUo +Pair 2 3 "KT1TxqZ8QtKvLu3V3JH7Gx58n7Co8pgtpQU5" 2159830 + +./octez-client --mode mockup get contract storage for KT1VqarPDicMFn1ejmQqqshUkUXTCTXwmkCN +Pair 0 1 "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" 100010000 diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert.out new file mode 100644 index 000000000000..5931ced0f288 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert.out @@ -0,0 +1,8 @@ +{ parameter bool ; + storage unit ; + code { CAR ; + { IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpeq.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpeq.out new file mode 100644 index 000000000000..bbe353a76a18 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpeq.out @@ -0,0 +1,11 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpge.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpge.out new file mode 100644 index 000000000000..d56c3a72c717 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpge.out @@ -0,0 +1,11 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + { { COMPARE ; GE } ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpgt.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpgt.out new file mode 100644 index 000000000000..ad6419cc57af --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpgt.out @@ -0,0 +1,11 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + { { COMPARE ; GT } ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmple.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmple.out new file mode 100644 index 000000000000..80d82ea4eb1e --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmple.out @@ -0,0 +1,11 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + { { COMPARE ; LE } ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmplt.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmplt.out new file mode 100644 index 000000000000..a0b5c69b4c90 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmplt.out @@ -0,0 +1,11 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + { { COMPARE ; LT } ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpneq.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpneq.out new file mode 100644 index 000000000000..9ae5ea93cbd0 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_cmpneq.out @@ -0,0 +1,11 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + { { COMPARE ; NEQ } ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_eq.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_eq.out new file mode 100644 index 000000000000..ddbecad17d4a --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_eq.out @@ -0,0 +1,12 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + COMPARE ; + { EQ ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_ge.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_ge.out new file mode 100644 index 000000000000..d4c1645d0517 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_ge.out @@ -0,0 +1,12 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + COMPARE ; + { GE ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_gt.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_gt.out new file mode 100644 index 000000000000..6cf69f3845cf --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_gt.out @@ -0,0 +1,12 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + COMPARE ; + { GT ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_le.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_le.out new file mode 100644 index 000000000000..81938328c570 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_le.out @@ -0,0 +1,12 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + COMPARE ; + { LE ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_lt.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_lt.out new file mode 100644 index 000000000000..3faecebbb2be --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_lt.out @@ -0,0 +1,12 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + COMPARE ; + { LT ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_neq.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_neq.out new file mode 100644 index 000000000000..97ad56e0faf1 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-assert_neq.out @@ -0,0 +1,12 @@ +{ parameter (pair int int) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + DIP { CDR } ; + COMPARE ; + { NEQ ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-big_map_get_add.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-big_map_get_add.out new file mode 100644 index 000000000000..fd1950c5e72d --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-big_map_get_add.out @@ -0,0 +1,22 @@ +{ parameter (pair (pair %set_pair int (option int)) (pair %check_pair int (option int))) ; + storage (pair (big_map int int) unit) ; + code { DUP ; + DIP { { CDR ; CAR } } ; + DUP ; + DIP { { CAR ; CDR } ; DUP ; CAR ; DIP { CDR } ; UPDATE ; DUP } ; + { CAR ; CDR } ; + DUP ; + CDR ; + DIP { CAR ; GET } ; + { IF_NONE + { { IF_NONE {} { { UNIT ; FAILWITH } } } } + { SWAP ; + { IF_NONE + { { UNIT ; FAILWITH } } + { { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } } } } } ; + UNIT ; + SWAP ; + PAIR ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-big_map_mem.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-big_map_mem.out new file mode 100644 index 000000000000..7f58503d9114 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-big_map_mem.out @@ -0,0 +1,13 @@ +{ parameter (pair int bool) ; + storage (pair (big_map int unit) unit) ; + code { DUP ; + DUP ; + { CAR ; CDR } ; + DIP { { CAR ; CAR } ; DIP { { CDR ; CAR } ; DUP } ; MEM } ; + { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; + UNIT ; + SWAP ; + PAIR ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-build_list.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-build_list.out new file mode 100644 index 000000000000..4ef9f940b1d0 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-build_list.out @@ -0,0 +1,23 @@ +{ parameter nat ; + storage (list nat) ; + code { CAR @counter ; + NIL @acc nat ; + SWAP ; + DUP @cmp_num ; + PUSH nat 0 ; + { COMPARE ; NEQ } ; + LOOP { DUP ; + DIP { SWAP } ; + CONS @acc ; + SWAP ; + PUSH nat 1 ; + SWAP ; + SUB @counter ; + DUP ; + DIP { ABS } ; + PUSH int 0 ; + { COMPARE ; NEQ } } ; + CONS ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-carn_and_cdrn.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-carn_and_cdrn.out new file mode 100644 index 000000000000..4cda8ad36989 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-carn_and_cdrn.out @@ -0,0 +1,28 @@ +{ parameter (pair nat nat nat unit) ; + storage unit ; + code { CAR ; + DUP ; + CAR ; + PUSH nat 1 ; + { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; + DUP ; + { GET 1 } ; + PUSH nat 1 ; + { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; + DUP ; + { GET 3 } ; + PUSH nat 4 ; + { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; + DUP ; + { GET 5 } ; + PUSH nat 2 ; + { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; + DUP ; + { GET 6 } ; + UNIT ; + { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; + DROP ; + UNIT ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-compare.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-compare.out new file mode 100644 index 000000000000..4292f6769b91 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-compare.out @@ -0,0 +1,21 @@ +{ parameter (pair mutez mutez) ; + storage (list bool) ; + code { CAR ; + DUP ; + DUP ; + DUP ; + DUP ; + DIP 5 { NIL bool } ; + DIP 4 { DUP ; CAR ; DIP { CDR } ; COMPARE ; LE ; CONS } ; + DIP 3 { DUP ; CAR ; DIP { CDR } ; COMPARE ; GE ; CONS } ; + DIP 2 { DUP ; CAR ; DIP { CDR } ; COMPARE ; LT ; CONS } ; + DIP { DUP ; CAR ; DIP { CDR } ; COMPARE ; GT ; CONS } ; + DUP ; + CAR ; + DIP { CDR } ; + COMPARE ; + EQ ; + CONS ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-compare_bytes.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-compare_bytes.out new file mode 100644 index 000000000000..0b52eb3a3741 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-compare_bytes.out @@ -0,0 +1,21 @@ +{ parameter (pair bytes bytes) ; + storage (list bool) ; + code { CAR ; + DUP ; + DUP ; + DUP ; + DUP ; + DIP 5 { NIL bool } ; + DIP 4 { DUP ; CAR ; DIP { CDR } ; COMPARE ; LE ; CONS } ; + DIP 3 { DUP ; CAR ; DIP { CDR } ; COMPARE ; GE ; CONS } ; + DIP 2 { DUP ; CAR ; DIP { CDR } ; COMPARE ; LT ; CONS } ; + DIP { DUP ; CAR ; DIP { CDR } ; COMPARE ; GT ; CONS } ; + DUP ; + CAR ; + DIP { CDR } ; + COMPARE ; + EQ ; + CONS ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-fail.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-fail.out new file mode 100644 index 000000000000..a3007c04a48a --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-fail.out @@ -0,0 +1,2 @@ +{ parameter unit ; storage unit ; code { { UNIT ; FAILWITH } } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-guestbook.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-guestbook.out new file mode 100644 index 000000000000..007315d9f5c1 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-guestbook.out @@ -0,0 +1,17 @@ +{ parameter string ; + storage (map address (option string)) ; + code { UNPAIR @message @guestbook ; + SWAP ; + DUP ; + SENDER ; + GET @previous_message ; + { IF_NONE { { UNIT ; FAILWITH } } {} } ; + { IF_NONE {} { { UNIT ; FAILWITH } } } ; + SWAP ; + SOME ; + SOME ; + SENDER ; + UPDATE ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-macro_annotations.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-macro_annotations.out new file mode 100644 index 000000000000..e0004b030af0 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-macro_annotations.out @@ -0,0 +1,12 @@ +{ parameter unit ; + storage (pair (unit %truc) unit) ; + code { DROP ; + UNIT ; + UNIT ; + PAIR %truc ; + UNIT ; + DUP @new_storage 2 ; + DIP { DROP ; DROP } ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-map_caddaadr.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-map_caddaadr.out new file mode 100644 index 000000000000..58b5cf2acdee --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-map_caddaadr.out @@ -0,0 +1,39 @@ +{ parameter unit ; + storage (pair (pair nat (pair nat (pair (pair (pair (nat %p) (mutez %value)) nat) nat))) nat) ; + code { { DUP ; + DIP { CDR @%% ; + { DUP ; + DIP { CAR @%% ; + { DUP ; + DIP { CDR @%% ; + { DUP ; + DIP { CDR @%% ; + { DUP ; + DIP { CAR @%% ; + { DUP ; + DIP { CAR @%% ; + { DUP ; + CDR @value ; + { PUSH mutez 1000000 ; ADD } ; + SWAP ; + CAR @%% ; + PAIR %@ %value } } ; + CDR @%% ; + SWAP ; + PAIR %@ %@ } } ; + CDR @%% ; + SWAP ; + PAIR %@ %@ } } ; + CAR @%% ; + PAIR %@ %@ } } ; + CAR @%% ; + PAIR %@ %@ } } ; + CDR @%% ; + SWAP ; + PAIR %@ %@ } } ; + CAR @%% ; + PAIR %@ %@ @new_storage } ; + NIL operation ; + SWAP ; + { CDR @%% ; SWAP ; PAIR % %@ } } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-max_in_list.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-max_in_list.out new file mode 100644 index 000000000000..73b02aecae21 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-max_in_list.out @@ -0,0 +1,16 @@ +{ parameter (list int) ; + storage (option int) ; + code { CAR ; + DIP { NONE int } ; + ITER { SWAP ; + IF_NONE + { SOME } + { DIP { DUP } ; + DUP ; + DIP { SWAP } ; + { COMPARE ; LE } ; + IF { DROP } { DIP { DROP } } ; + SOME } } ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-min.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-min.out new file mode 100644 index 000000000000..25b53381539f --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-min.out @@ -0,0 +1,12 @@ +{ parameter (pair int int) ; + storage int ; + code { CAR ; + DUP ; + DUP ; + CAR ; + DIP { CDR } ; + { COMPARE ; LT } ; + IF { CAR } { CDR } ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-pair_macro.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-pair_macro.out new file mode 100644 index 000000000000..c690e041b539 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-pair_macro.out @@ -0,0 +1,17 @@ +{ parameter unit ; + storage unit ; + code { UNIT ; + UNIT ; + UNIT ; + UNIT ; + UNIT ; + { DIP 3 { PAIR %x4 %x5 } ; + DIP 2 { PAIR %x3 } ; + DIP { PAIR %x2 } ; + PAIR %x1 @name } ; + { CDR ; CDR ; CDR ; CAR %x4 @fourth } ; + DROP ; + CDR ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-set_caddaadr.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-set_caddaadr.out new file mode 100644 index 000000000000..40e1f41cf5b3 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-set_caddaadr.out @@ -0,0 +1,32 @@ +{ parameter mutez ; + storage (pair (pair nat (pair nat (pair (pair (pair (nat %p) (mutez %value)) nat) nat))) nat) ; + code { DUP ; + CAR ; + SWAP ; + CDR ; + { DUP ; + DIP { CAR @%% ; + { DUP ; + DIP { CDR @%% ; + { DUP ; + DIP { CDR @%% ; + { DUP ; + DIP { CAR @%% ; + { DUP ; + DIP { CAR @%% ; { DUP ; CDR %value ; DROP ; CAR @%% ; PAIR %@ %value } } ; + CDR @%% ; + SWAP ; + PAIR %@ %@ } } ; + CDR @%% ; + SWAP ; + PAIR %@ %@ } } ; + CAR @%% ; + PAIR %@ %@ } } ; + CAR @%% ; + PAIR %@ %@ } } ; + CDR @%% ; + SWAP ; + PAIR %@ %@ @toplevel_pair_name } ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-take_my_money.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-take_my_money.out new file mode 100644 index 000000000000..e337e046dd67 --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-take_my_money.out @@ -0,0 +1,13 @@ +{ parameter key_hash ; + storage unit ; + code { CAR ; + IMPLICIT_ACCOUNT ; + DIP { UNIT } ; + PUSH mutez 1000000 ; + UNIT ; + TRANSFER_TOKENS ; + NIL operation ; + SWAP ; + CONS ; + PAIR } } + diff --git a/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-unpair_macro.out b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-unpair_macro.out new file mode 100644 index 000000000000..54c838c9052c --- /dev/null +++ b/tezt/tests/expected/contract_macros.ml/Nairobi- Macro expansion- macros-unpair_macro.out @@ -0,0 +1,19 @@ +{ parameter (unit :param_unit) ; + storage (unit :u1) ; + code { DROP ; + UNIT :u4 @a4 ; + UNIT :u3 @a3 ; + UNIT :u2 @a2 ; + UNIT :u1 @a1 ; + PAIR ; + UNPAIR @x1 @x2 ; + { DIP 2 { PAIR %x3 %x4 } ; PAIR %x1 %x2 ; PAIR @p1 } ; + { UNPAIR ; UNPAIR ; DIP 2 { UNPAIR } } ; + { DIP 2 { PAIR %x3 %x4 } ; DIP { PAIR %x2 } ; PAIR %x1 @p2 } ; + { UNPAIR ; DIP { UNPAIR } ; DIP 2 { UNPAIR } } ; + { DIP { PAIR %x2 %x3 } ; DIP { PAIR % %x4 } ; PAIR %x1 @p3 } ; + { UNPAIR ; DIP { UNPAIR } ; DIP { UNPAIR } } ; + DIP { DROP ; DROP ; DROP } ; + NIL operation ; + PAIR } } + diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_big_map_origination.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_big_map_origination.out new file mode 100644 index 000000000000..2d99ef9edbf7 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_big_map_origination.out @@ -0,0 +1,148 @@ + +./octez-client --mode mockup --wait none originate contract originate_big_map transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/originate_big_map.tz --init '{Elt 0 0}' --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 813.277 units (will add 100 for safety) +Estimated storage: 403 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000374 + Expected counter: 1 + Gas limit: 914 + Storage limit: 423 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000374 + payload fees(the block proposer) ....... +ꜩ0.000374 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (big_map int int) ; + storage (big_map int int) ; + code { CAR ; NIL operation ; PAIR } } + Initial storage: { Elt 0 0 } + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 146 bytes + Updated big_maps: + New map(4) of type (big_map int int) + Set map(4)[0] to 0 + Paid storage size diff: 146 bytes + Consumed gas: 813.244 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0365 + storage fees ........................... +ꜩ0.0365 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as originate_big_map. + +./octez-client --mode mockup --wait none originate contract originate_big_map transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/originate_big_map.tz --init 0 --burn-cap 10 --force +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (big_map int int) ; + storage (big_map int int) ; + code { CAR ; NIL operation ; PAIR } } + Initial storage: 0 + No delegate for this contract + This operation FAILED. + +Ill typed data: 1: 0 is not an expression of type big_map int int +At line 1 characters 0 to 1, value 0 is invalid for type big_map int int. +At line 1 characters 0 to 1, +Unexpected forged value. +Fatal error: + origination simulation failed + +./octez-client --mode mockup --wait none originate contract originate_big_map transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/originate_big_map.tz --init 'Pair 0 {Elt 1 (Some 4)}' --burn-cap 10 --force +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (big_map int int) ; + storage (big_map int int) ; + code { CAR ; NIL operation ; PAIR } } + Initial storage: (Pair 0 { Elt 1 (Some 4) }) + No delegate for this contract + This operation FAILED. + +Ill typed data: 1: (Pair 0 { Elt 1 (Some 4) }) +is not an expression of type big_map int int +At line 1 characters 0 to 26, value (Pair 0 { Elt 1 (Some 4) }) +is invalid for type big_map int int. +At line 1 characters 6 to 7, +Unexpected forged value. +Fatal error: + origination simulation failed + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg 0 +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: 0 + This operation FAILED. + +Invalid argument passed to contract [CONTRACT_HASH]. +At (unshown) location 0, value 0 is invalid for type big_map int int. +At (unshown) location 0, Unexpected forged value. +Fatal error: + transfer simulation failed + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg 'Pair 0 {Elt 1 (Some 4)}' +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair 0 { Elt 1 (Some 4) }) + This operation FAILED. + +Invalid argument passed to contract [CONTRACT_HASH]. +At (unshown) location 0, value (Pair 0 { Elt 1 (Some 4) }) +is invalid for type big_map int int. +At (unshown) location 1, Unexpected forged value. +Fatal error: + transfer simulation failed diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_contract_fails.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_contract_fails.out new file mode 100644 index 000000000000..52363e3275f2 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_contract_fails.out @@ -0,0 +1,70 @@ + +./octez-client --mode mockup --wait none originate contract contract transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/contract.tz --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 589.326 units (will add 100 for safety) +Estimated storage: 329 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000368 + Expected counter: 1 + Gas limit: 690 + Storage limit: 349 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000368 + payload fees(the block proposer) ....... +ꜩ0.000368 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter address ; + storage unit ; + code { CAR ; CONTRACT unit ; ASSERT_SOME ; DROP ; UNIT ; NIL operation ; PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 72 bytes + Paid storage size diff: 72 bytes + Consumed gas: 589.292 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.018 + storage fees ........................... +ꜩ0.018 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as contract. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '"[CONTRACT_HASH]"' +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[CONTRACT_HASH]" + This operation FAILED. + +Runtime error in contract [CONTRACT_HASH]: + 1: { parameter address ; + 2: storage unit ; + 3: code { CAR ; CONTRACT unit ; ASSERT_SOME ; DROP ; UNIT ; NIL operation ; PAIR } } +At line 3 characters 31 to 42, +script reached FAILWITH instruction +with Unit +Fatal error: + transfer simulation failed diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_level.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_level.out new file mode 100644 index 000000000000..a3df0bfbc726 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_level.out @@ -0,0 +1,113 @@ + +./octez-client --mode mockup --wait none originate contract level transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/level.tz --init 9999999 --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 579.583 units (will add 100 for safety) +Estimated storage: 300 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000338 + Expected counter: 1 + Gas limit: 680 + Storage limit: 320 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000338 + payload fees(the block proposer) ....... +ꜩ0.000338 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter unit ; + storage nat ; + code { DROP ; LEVEL ; NIL operation ; PAIR } } + Initial storage: 9999999 + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 43 bytes + Paid storage size diff: 43 bytes + Consumed gas: 579.550 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01075 + storage fees ........................... +ꜩ0.01075 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as level. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg Unit +Node is bootstrapped. +Estimated gas: 1277.169 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000386 + Expected counter: 2 + Gas limit: 1378 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000386 + payload fees(the block proposer) ....... +ꜩ0.000386 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: 1 + Storage size: 40 bytes + Consumed gas: 1277.927 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +1 + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +1 + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg Unit +Node is bootstrapped. +Estimated gas: 1277.867 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000386 + Expected counter: 3 + Gas limit: 1378 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000386 + payload fees(the block proposer) ....... +ꜩ0.000386 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: 4 + Storage size: 40 bytes + Consumed gas: 1277.801 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +4 diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_now.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_now.out new file mode 100644 index 000000000000..676531058c2f --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_now.out @@ -0,0 +1,77 @@ + +./octez-client --mode mockup --wait none originate contract store_now transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/store_now.tz --init '"[TIMESTAMP]"' --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 580.807 units (will add 100 for safety) +Estimated storage: 301 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000359 + Expected counter: 1 + Gas limit: 681 + Storage limit: 321 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000359 + payload fees(the block proposer) ....... +ꜩ0.000359 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter unit ; + storage timestamp ; + code { DROP ; NOW ; NIL operation ; PAIR } } + Initial storage: "[TIMESTAMP]" + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 44 bytes + Paid storage size diff: 44 bytes + Consumed gas: 580.774 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.011 + storage fees ........................... +ꜩ0.011 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as store_now. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg Unit +Node is bootstrapped. +Estimated gas: 1277.261 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000386 + Expected counter: 2 + Gas limit: 1378 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000386 + payload fees(the block proposer) ....... +ꜩ0.000386 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: 1 + Storage size: 40 bytes + Consumed gas: 1277.969 + + +./octez-client --mode mockup rpc get '/chains/main/blocks/head/context/contracts/[CONTRACT_HASH]/storage' +{ "string": "[TIMESTAMP]" } diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_self.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_self.out new file mode 100644 index 000000000000..b76634e92378 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_self.out @@ -0,0 +1,77 @@ + +./octez-client --mode mockup --wait none originate contract self transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/self.tz --init '"[PUBLIC_KEY_HASH]"' --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 586.690 units (will add 100 for safety) +Estimated storage: 324 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000377 + Expected counter: 1 + Gas limit: 687 + Storage limit: 344 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000377 + payload fees(the block proposer) ....... +ꜩ0.000377 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter unit ; + storage address ; + code { DROP ; SELF ; ADDRESS ; NIL operation ; PAIR } } + Initial storage: "[PUBLIC_KEY_HASH]" + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 67 bytes + Paid storage size diff: 67 bytes + Consumed gas: 586.657 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01675 + storage fees ........................... +ꜩ0.01675 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as self. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg Unit +Node is bootstrapped. +Estimated gas: 1279.543 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000386 + Expected counter: 2 + Gas limit: 1380 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000386 + payload fees(the block proposer) ....... +ꜩ0.000386 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: 0x01fabd76c7ade40ef0e6a7b2be514d9e617e0a424800 + Storage size: 67 bytes + Consumed gas: 1280.208 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +"[CONTRACT_HASH]" diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_sender.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_sender.out new file mode 100644 index 000000000000..cbefc4d7f435 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_sender.out @@ -0,0 +1,170 @@ + +./octez-client --mode mockup --wait none originate contract proxy transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/proxy.tz --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 585.283 units (will add 100 for safety) +Estimated storage: 312 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000351 + Expected counter: 1 + Gas limit: 686 + Storage limit: 332 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000351 + payload fees(the block proposer) ....... +ꜩ0.000351 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (contract unit) ; + storage unit ; + code { UNPAIR ; + AMOUNT ; + UNIT ; + TRANSFER_TOKENS ; + DIP { NIL operation } ; + CONS ; + PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 55 bytes + Paid storage size diff: 55 bytes + Consumed gas: 585.250 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01375 + storage fees ........................... +ꜩ0.01375 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as proxy. + +./octez-client --mode mockup --wait none originate contract sender transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/sender.tz --init '"[PUBLIC_KEY_HASH]"' --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 585.553 units (will add 100 for safety) +Estimated storage: 322 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000375 + Expected counter: 2 + Gas limit: 686 + Storage limit: 342 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000375 + payload fees(the block proposer) ....... +ꜩ0.000375 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter unit ; + storage address ; + code { DROP ; SENDER ; NIL operation ; PAIR } } + Initial storage: "[PUBLIC_KEY_HASH]" + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 65 bytes + Paid storage size diff: 65 bytes + Consumed gas: 585.520 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01625 + storage fees ........................... +ꜩ0.01625 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as sender. + +./octez-client --mode mockup --wait none transfer 0 from '[PUBLIC_KEY_HASH]' to '[CONTRACT_HASH]' --burn-cap 10 --arg Unit +Node is bootstrapped. +Estimated gas: 1278.816 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000386 + Expected counter: 1 + Gas limit: 1379 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000386 + payload fees(the block proposer) ....... +ꜩ0.000386 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c + Storage size: 65 bytes + Consumed gas: 1279.481 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +"[PUBLIC_KEY_HASH]" + +./octez-client --mode mockup --wait none transfer 0 from '[PUBLIC_KEY_HASH]' to '[CONTRACT_HASH]' --burn-cap 10 --arg '"[CONTRACT_HASH]"' +Node is bootstrapped. +Estimated gas: 2949.067 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000599 + Expected counter: 2 + Gas limit: 3050 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000599 + payload fees(the block proposer) ....... +ꜩ0.000599 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[CONTRACT_HASH]" + This transaction was successfully applied + Updated storage: Unit + Storage size: 55 bytes + Consumed gas: 1739.558 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: 0x01c144b1848cb3943f64c69648f0b9e477d96c540600 + Storage size: 65 bytes + Consumed gas: 1210.819 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +"[CONTRACT_HASH]" diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_set_delegate.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_set_delegate.out new file mode 100644 index 000000000000..03702cee7769 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_set_delegate.out @@ -0,0 +1,118 @@ + +./octez-client --mode mockup --wait none originate contract set_delegate transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/set_delegate.tz --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 583.003 units (will add 100 for safety) +Estimated storage: 308 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000347 + Expected counter: 1 + Gas limit: 684 + Storage limit: 328 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000347 + payload fees(the block proposer) ....... +ꜩ0.000347 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (option key_hash) ; + storage unit ; + code { UNPAIR ; SET_DELEGATE ; DIP { NIL operation } ; CONS ; PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 51 bytes + Paid storage size diff: 51 bytes + Consumed gas: 582.970 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01275 + storage fees ........................... +ꜩ0.01275 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as set_delegate. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '(Some "[PUBLIC_KEY_HASH]")' +Node is bootstrapped. +Estimated gas: 1385.251 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000445 + Expected counter: 2 + Gas limit: 1486 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000445 + payload fees(the block proposer) ....... +ꜩ0.000445 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Some "[PUBLIC_KEY_HASH]") + This transaction was successfully applied + Updated storage: Unit + Storage size: 51 bytes + Consumed gas: 1285.916 + Internal operations: + Internal Delegation: + Contract: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + This delegation was successfully applied + Consumed gas: 100 + + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg None +Node is bootstrapped. +Estimated gas: 1379.373 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000403 + Expected counter: 3 + Gas limit: 1480 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000403 + payload fees(the block proposer) ....... +ꜩ0.000403 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: None + This transaction was successfully applied + Updated storage: Unit + Storage size: 51 bytes + Consumed gas: 1280.038 + Internal operations: + Internal Delegation: + Contract: [CONTRACT_HASH] + To: nobody + This delegation was successfully applied + Consumed gas: 100 + diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_slice.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_slice.out new file mode 100644 index 000000000000..5b4b8f9047c0 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_slice.out @@ -0,0 +1,461 @@ + +./octez-client --mode mockup --wait none originate contract slices transferring 1 from bootstrap1 running michelson_test_scripts/opcodes/slices.tz --init '"sppk7dBPqMPjDjXgKbb5f7V3PuKUrA4Zuwc3c3H7XqQerqPUWbK7Hna"' --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 1079.522 units (will add 100 for safety) +Estimated storage: 835 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000946 + Expected counter: 1 + Gas limit: 1180 + Storage limit: 855 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000946 + payload fees(the block proposer) ....... +ꜩ0.000946 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ1 + Script: + { parameter (pair bytes signature) ; + storage key ; + code { DUP ; + CAAR ; + DUP ; + SIZE ; + PUSH nat 128 ; + SWAP ; + SUB ; + ISNAT ; + ASSERT_SOME ; + PUSH nat 128 ; + SLICE @payload ; + ASSERT_SOME ; + DUP ; + DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; + SHA256 ; + ASSERT_CMPEQ } ; + DUP ; + DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; + BLAKE2B ; + ASSERT_CMPEQ } ; + DUP ; + DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; + SHA512 ; + ASSERT_CMPEQ } ; + DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; + SWAP ; + DIP { SWAP } ; + CHECK_SIGNATURE ; + ASSERT ; + CDR ; + DUP ; + HASH_KEY ; + IMPLICIT_ACCOUNT ; + BALANCE ; + UNIT ; + TRANSFER_TOKENS ; + NIL operation ; + SWAP ; + CONS ; + PAIR } } + Initial storage: + "sppk7dBPqMPjDjXgKbb5f7V3PuKUrA4Zuwc3c3H7XqQerqPUWbK7Hna" + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 578 bytes + Paid storage size diff: 578 bytes + Consumed gas: 1079.489 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.1445 + storage fees ........................... +ꜩ0.1445 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ1 + [CONTRACT_HASH] ... +ꜩ1 + +New contract [CONTRACT_HASH] originated. +Contract memorized as slices. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "p2sigsceCzcDw2AeYDzUonj4JT341WC9Px4wdhHBxbZcG1FhfqFVuG7f2fGCzrEHSAZgrsrQWpxduDPk9qZRgrpzwJnSHC3gZJ")' +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 + "p2sigsceCzcDw2AeYDzUonj4JT341WC9Px4wdhHBxbZcG1FhfqFVuG7f2fGCzrEHSAZgrsrQWpxduDPk9qZRgrpzwJnSHC3gZJ") + This operation FAILED. + +Runtime error in contract [CONTRACT_HASH]: + 01: { parameter (pair bytes signature) ; + 02: storage key ; + 03: code { DUP ; + 04: CAAR ; + 05: DUP ; + 06: SIZE ; + 07: PUSH nat 128 ; + 08: SWAP ; + 09: SUB ; + 10: ISNAT ; + 11: ASSERT_SOME ; + 12: PUSH nat 128 ; + 13: SLICE @payload ; + 14: ASSERT_SOME ; + 15: DUP ; + 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; + 17: SHA256 ; + 18: ASSERT_CMPEQ } ; + 19: DUP ; + 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; + 21: BLAKE2B ; + 22: ASSERT_CMPEQ } ; + 23: DUP ; + 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; + 25: SHA512 ; + 26: ASSERT_CMPEQ } ; + 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; + 28: SWAP ; + 29: DIP { SWAP } ; + 30: CHECK_SIGNATURE ; + 31: ASSERT ; + 32: CDR ; + 33: DUP ; + 34: HASH_KEY ; + 35: IMPLICIT_ACCOUNT ; + 36: BALANCE ; + 37: UNIT ; + 38: TRANSFER_TOKENS ; + 39: NIL operation ; + 40: SWAP ; + 41: CONS ; + 42: PAIR } } +At line 31 characters 9 to 15, +script reached FAILWITH instruction +with Unit +Fatal error: + transfer simulation failed + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '(Pair 0xeaa9ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")' +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair 0xeaa9ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 + "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") + This operation FAILED. + +Runtime error in contract [CONTRACT_HASH]: + 01: { parameter (pair bytes signature) ; + 02: storage key ; + 03: code { DUP ; + 04: CAAR ; + 05: DUP ; + 06: SIZE ; + 07: PUSH nat 128 ; + 08: SWAP ; + 09: SUB ; + 10: ISNAT ; + 11: ASSERT_SOME ; + 12: PUSH nat 128 ; + 13: SLICE @payload ; + 14: ASSERT_SOME ; + 15: DUP ; + 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; + 17: SHA256 ; + 18: ASSERT_CMPEQ } ; + 19: DUP ; + 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; + 21: BLAKE2B ; + 22: ASSERT_CMPEQ } ; + 23: DUP ; + 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; + 25: SHA512 ; + 26: ASSERT_CMPEQ } ; + 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; + 28: SWAP ; + 29: DIP { SWAP } ; + 30: CHECK_SIGNATURE ; + 31: ASSERT ; + 32: CDR ; + 33: DUP ; + 34: HASH_KEY ; + 35: IMPLICIT_ACCOUNT ; + 36: BALANCE ; + 37: UNIT ; + 38: TRANSFER_TOKENS ; + 39: NIL operation ; + 40: SWAP ; + 41: CONS ; + 42: PAIR } } +At line 18 characters 15 to 27, +script reached FAILWITH instruction +with Unit +Fatal error: + transfer simulation failed + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2deaad01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")' +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2deaad01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 + "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") + This operation FAILED. + +Runtime error in contract [CONTRACT_HASH]: + 01: { parameter (pair bytes signature) ; + 02: storage key ; + 03: code { DUP ; + 04: CAAR ; + 05: DUP ; + 06: SIZE ; + 07: PUSH nat 128 ; + 08: SWAP ; + 09: SUB ; + 10: ISNAT ; + 11: ASSERT_SOME ; + 12: PUSH nat 128 ; + 13: SLICE @payload ; + 14: ASSERT_SOME ; + 15: DUP ; + 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; + 17: SHA256 ; + 18: ASSERT_CMPEQ } ; + 19: DUP ; + 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; + 21: BLAKE2B ; + 22: ASSERT_CMPEQ } ; + 23: DUP ; + 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; + 25: SHA512 ; + 26: ASSERT_CMPEQ } ; + 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; + 28: SWAP ; + 29: DIP { SWAP } ; + 30: CHECK_SIGNATURE ; + 31: ASSERT ; + 32: CDR ; + 33: DUP ; + 34: HASH_KEY ; + 35: IMPLICIT_ACCOUNT ; + 36: BALANCE ; + 37: UNIT ; + 38: TRANSFER_TOKENS ; + 39: NIL operation ; + 40: SWAP ; + 41: CONS ; + 42: PAIR } } +At line 22 characters 15 to 27, +script reached FAILWITH instruction +with Unit +Fatal error: + transfer simulation failed + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150733eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")' +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150733eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 + "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") + This operation FAILED. + +Runtime error in contract [CONTRACT_HASH]: + 01: { parameter (pair bytes signature) ; + 02: storage key ; + 03: code { DUP ; + 04: CAAR ; + 05: DUP ; + 06: SIZE ; + 07: PUSH nat 128 ; + 08: SWAP ; + 09: SUB ; + 10: ISNAT ; + 11: ASSERT_SOME ; + 12: PUSH nat 128 ; + 13: SLICE @payload ; + 14: ASSERT_SOME ; + 15: DUP ; + 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; + 17: SHA256 ; + 18: ASSERT_CMPEQ } ; + 19: DUP ; + 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; + 21: BLAKE2B ; + 22: ASSERT_CMPEQ } ; + 23: DUP ; + 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; + 25: SHA512 ; + 26: ASSERT_CMPEQ } ; + 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; + 28: SWAP ; + 29: DIP { SWAP } ; + 30: CHECK_SIGNATURE ; + 31: ASSERT ; + 32: CDR ; + 33: DUP ; + 34: HASH_KEY ; + 35: IMPLICIT_ACCOUNT ; + 36: BALANCE ; + 37: UNIT ; + 38: TRANSFER_TOKENS ; + 39: NIL operation ; + 40: SWAP ; + 41: CONS ; + 42: PAIR } } +At line 26 characters 15 to 27, +script reached FAILWITH instruction +with Unit +Fatal error: + transfer simulation failed + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '(Pair 0xe009ab79e8b84ef0 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")' +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 2 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair 0xe009ab79e8b84ef0 + "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") + This operation FAILED. + +Runtime error in contract [CONTRACT_HASH]: + 01: { parameter (pair bytes signature) ; + 02: storage key ; + 03: code { DUP ; + 04: CAAR ; + 05: DUP ; + 06: SIZE ; + 07: PUSH nat 128 ; + 08: SWAP ; + 09: SUB ; + 10: ISNAT ; + 11: ASSERT_SOME ; + 12: PUSH nat 128 ; + 13: SLICE @payload ; + 14: ASSERT_SOME ; + 15: DUP ; + 16: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 0 ; SLICE ; ASSERT_SOME } ; + 17: SHA256 ; + 18: ASSERT_CMPEQ } ; + 19: DUP ; + 20: DIP { DIP { DUP ; CAAR ; PUSH nat 32 ; PUSH nat 32 ; SLICE ; ASSERT_SOME } ; + 21: BLAKE2B ; + 22: ASSERT_CMPEQ } ; + 23: DUP ; + 24: DIP { DIP { DUP ; CAAR ; PUSH nat 64 ; PUSH nat 64 ; SLICE ; ASSERT_SOME } ; + 25: SHA512 ; + 26: ASSERT_CMPEQ } ; + 27: DIP { DUP ; CDR ; DIP { DUP ; CADR } } ; + 28: SWAP ; + 29: DIP { SWAP } ; + 30: CHECK_SIGNATURE ; + 31: ASSERT ; + 32: CDR ; + 33: DUP ; + 34: HASH_KEY ; + 35: IMPLICIT_ACCOUNT ; + 36: BALANCE ; + 37: UNIT ; + 38: TRANSFER_TOKENS ; + 39: NIL operation ; + 40: SWAP ; + 41: CONS ; + 42: PAIR } } +At line 11 characters 9 to 20, +script reached FAILWITH instruction +with Unit +Fatal error: + transfer simulation failed + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '(Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm")' +Node is bootstrapped. +Estimated gas: 1625.970 units (will add 100 for safety) +Estimated storage: 257 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00068 + Expected counter: 2 + Gas limit: 1726 + Storage limit: 277 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00068 + payload fees(the block proposer) ....... +ꜩ0.00068 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair 0xe009ab79e8b84ef0e55c43a9a857214d8761e67b75ba63500a5694fb2ffe174acc2de22d01ccb7259342437f05e1987949f0ad82e9f32e9a0b79cb252d7f7b8236ad728893f4e7150742eefdbeda254970f9fcd92c6228c178e1a923e5600758eb83f2a05edd0be7625657901f2ba81eaf145d003dbef78e33f43a32a3788bdf0501000000085341554349535345 + "spsig1PPUFZucuAQybs5wsqsNQ68QNgFaBnVKMFaoZZfi1BtNnuCAWnmL9wVy5HfHkR6AeodjVGxpBVVSYcJKyMURn6K1yknYLm") + This transaction was successfully applied + Updated storage: + 0x0103fe5753baadb56a4836e34571ce4cbe82158ee40eba872b848f709699019725ba + Storage size: 578 bytes + Consumed gas: 1526.495 + Internal operations: + Internal Transaction: + Amount: ꜩ1 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + This transaction was successfully applied + Consumed gas: 100 + Balance updates: + [CONTRACT_HASH] ... -ꜩ1 + [PUBLIC_KEY_HASH] ... +ꜩ1 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_source.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_source.out new file mode 100644 index 000000000000..c0aca5beecd8 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_source.out @@ -0,0 +1,170 @@ + +./octez-client --mode mockup --wait none originate contract proxy transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/proxy.tz --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 585.283 units (will add 100 for safety) +Estimated storage: 312 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000351 + Expected counter: 1 + Gas limit: 686 + Storage limit: 332 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000351 + payload fees(the block proposer) ....... +ꜩ0.000351 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (contract unit) ; + storage unit ; + code { UNPAIR ; + AMOUNT ; + UNIT ; + TRANSFER_TOKENS ; + DIP { NIL operation } ; + CONS ; + PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 55 bytes + Paid storage size diff: 55 bytes + Consumed gas: 585.250 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01375 + storage fees ........................... +ꜩ0.01375 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as proxy. + +./octez-client --mode mockup --wait none originate contract source transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/source.tz --init '"[PUBLIC_KEY_HASH]"' --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 585.553 units (will add 100 for safety) +Estimated storage: 322 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000375 + Expected counter: 2 + Gas limit: 686 + Storage limit: 342 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000375 + payload fees(the block proposer) ....... +ꜩ0.000375 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter unit ; + storage address ; + code { DROP ; SOURCE ; NIL operation ; PAIR } } + Initial storage: "[PUBLIC_KEY_HASH]" + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 65 bytes + Paid storage size diff: 65 bytes + Consumed gas: 585.520 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01625 + storage fees ........................... +ꜩ0.01625 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as source. + +./octez-client --mode mockup --wait none transfer 0 from '[PUBLIC_KEY_HASH]' to '[CONTRACT_HASH]' --burn-cap 10 --arg Unit +Node is bootstrapped. +Estimated gas: 1278.816 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000386 + Expected counter: 1 + Gas limit: 1379 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000386 + payload fees(the block proposer) ....... +ꜩ0.000386 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c + Storage size: 65 bytes + Consumed gas: 1279.481 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +"[PUBLIC_KEY_HASH]" + +./octez-client --mode mockup --wait none transfer 0 from '[PUBLIC_KEY_HASH]' to '[CONTRACT_HASH]' --burn-cap 10 --arg '"[CONTRACT_HASH]"' +Node is bootstrapped. +Estimated gas: 2949.067 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000599 + Expected counter: 2 + Gas limit: 3050 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000599 + payload fees(the block proposer) ....... +ꜩ0.000599 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[CONTRACT_HASH]" + This transaction was successfully applied + Updated storage: Unit + Storage size: 55 bytes + Consumed gas: 1739.558 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: 0x0000e7670f32038107a59a2b9cfefae36ea21f5aa63c + Storage size: 65 bytes + Consumed gas: 1210.819 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +"[PUBLIC_KEY_HASH]" diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_split_bytes.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_split_bytes.out new file mode 100644 index 000000000000..67ad38e33eb2 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_split_bytes.out @@ -0,0 +1,142 @@ + +./octez-client --mode mockup --wait none originate contract split_bytes transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/split_bytes.tz --init '{}' --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 650.005 units (will add 100 for safety) +Estimated storage: 511 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000557 + Expected counter: 1 + Gas limit: 751 + Storage limit: 531 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000557 + payload fees(the block proposer) ....... +ꜩ0.000557 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter bytes ; + storage (list bytes) ; + code { UNPAIR ; + DIP { NIL bytes ; SWAP ; ITER { CONS } } ; + DUP ; + SIZE ; + PUSH nat 0 ; + CMPNEQ ; + DIP { PUSH @index nat 0 } ; + LOOP { PAIR ; + DUP ; + DIP { UNPAIR ; DIP { PUSH nat 1 } ; SLICE ; ASSERT_SOME ; CONS @storage } ; + UNPAIR ; + PUSH nat 1 ; + ADD @index ; + DUP ; + DIP { DIP { DUP } ; SWAP ; SIZE ; CMPNEQ } ; + SWAP } ; + DROP ; + DROP ; + NIL bytes ; + SWAP ; + ITER { CONS } ; + NIL operation ; + PAIR } } + Initial storage: {} + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 254 bytes + Paid storage size diff: 254 bytes + Consumed gas: 649.972 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0635 + storage fees ........................... +ꜩ0.0635 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as split_bytes. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg 0xaabbcc +Node is bootstrapped. +Estimated gas: 1320.096 units (will add 100 for safety) +Estimated storage: 18 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000404 + Expected counter: 2 + Gas limit: 1421 + Storage limit: 38 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000404 + payload fees(the block proposer) ....... +ꜩ0.000404 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: 0xaabbcc + This transaction was successfully applied + Updated storage: { 0xaa ; 0xbb ; 0xcc } + Storage size: 272 bytes + Paid storage size diff: 18 bytes + Consumed gas: 1320.632 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0045 + storage fees ........................... +ꜩ0.0045 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +{ 0xaa ; 0xbb ; 0xcc } + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg 0xddeeff +Node is bootstrapped. +Estimated gas: 1322.712 units (will add 100 for safety) +Estimated storage: 18 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000404 + Expected counter: 3 + Gas limit: 1423 + Storage limit: 38 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000404 + payload fees(the block proposer) ....... +ꜩ0.000404 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: 0xddeeff + This transaction was successfully applied + Updated storage: { 0xaa ; 0xbb ; 0xcc ; 0xdd ; 0xee ; 0xff } + Storage size: 290 bytes + Paid storage size diff: 18 bytes + Consumed gas: 1323.248 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0045 + storage fees ........................... +ꜩ0.0045 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +{ 0xaa ; 0xbb ; 0xcc ; 0xdd ; 0xee ; 0xff } diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_split_string.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_split_string.out new file mode 100644 index 000000000000..367243708cbf --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_split_string.out @@ -0,0 +1,142 @@ + +./octez-client --mode mockup --wait none originate contract split_string transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/split_string.tz --init '{}' --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 650.005 units (will add 100 for safety) +Estimated storage: 511 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000557 + Expected counter: 1 + Gas limit: 751 + Storage limit: 531 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000557 + payload fees(the block proposer) ....... +ꜩ0.000557 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter string ; + storage (list string) ; + code { UNPAIR ; + DIP { NIL string ; SWAP ; ITER { CONS } } ; + DUP ; + SIZE ; + PUSH nat 0 ; + CMPNEQ ; + DIP { PUSH @index nat 0 } ; + LOOP { PAIR ; + DUP ; + DIP { UNPAIR ; DIP { PUSH nat 1 } ; SLICE ; ASSERT_SOME ; CONS @storage } ; + UNPAIR ; + PUSH nat 1 ; + ADD @index ; + DUP ; + DIP { DIP { DUP } ; SWAP ; SIZE ; CMPNEQ } ; + SWAP } ; + DROP ; + DROP ; + NIL string ; + SWAP ; + ITER { CONS } ; + NIL operation ; + PAIR } } + Initial storage: {} + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 254 bytes + Paid storage size diff: 254 bytes + Consumed gas: 649.972 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0635 + storage fees ........................... +ꜩ0.0635 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as split_string. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '"abc"' +Node is bootstrapped. +Estimated gas: 1320.160 units (will add 100 for safety) +Estimated storage: 18 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000404 + Expected counter: 2 + Gas limit: 1421 + Storage limit: 38 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000404 + payload fees(the block proposer) ....... +ꜩ0.000404 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "abc" + This transaction was successfully applied + Updated storage: { "a" ; "b" ; "c" } + Storage size: 272 bytes + Paid storage size diff: 18 bytes + Consumed gas: 1320.696 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0045 + storage fees ........................... +ꜩ0.0045 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +{ "a" ; "b" ; "c" } + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '"def"' +Node is bootstrapped. +Estimated gas: 1322.848 units (will add 100 for safety) +Estimated storage: 18 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000404 + Expected counter: 3 + Gas limit: 1423 + Storage limit: 38 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000404 + payload fees(the block proposer) ....... +ꜩ0.000404 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "def" + This transaction was successfully applied + Updated storage: { "a" ; "b" ; "c" ; "d" ; "e" ; "f" } + Storage size: 290 bytes + Paid storage size diff: 18 bytes + Consumed gas: 1323.384 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0045 + storage fees ........................... +ꜩ0.0045 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +{ "a" ; "b" ; "c" ; "d" ; "e" ; "f" } diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_store_input.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_store_input.out new file mode 100644 index 000000000000..35dc0cc7a902 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_store_input.out @@ -0,0 +1,116 @@ + +./octez-client --mode mockup --wait none originate contract store_input transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/store_input.tz --init '""' --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 578.389 units (will add 100 for safety) +Estimated storage: 298 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000336 + Expected counter: 1 + Gas limit: 679 + Storage limit: 318 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000336 + payload fees(the block proposer) ....... +ꜩ0.000336 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter string ; + storage string ; + code { CAR ; NIL operation ; PAIR } } + Initial storage: "" + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 41 bytes + Paid storage size diff: 41 bytes + Consumed gas: 578.356 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01025 + storage fees ........................... +ꜩ0.01025 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as store_input. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '"abcdefg"' +Node is bootstrapped. +Estimated gas: 1277.562 units (will add 100 for safety) +Estimated storage: 7 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000403 + Expected counter: 2 + Gas limit: 1378 + Storage limit: 27 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000403 + payload fees(the block proposer) ....... +ꜩ0.000403 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "abcdefg" + This transaction was successfully applied + Updated storage: "abcdefg" + Storage size: 48 bytes + Paid storage size diff: 7 bytes + Consumed gas: 1278.270 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00175 + storage fees ........................... +ꜩ0.00175 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +"abcdefg" + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '"xyz"' +Node is bootstrapped. +Estimated gas: 1277.578 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000399 + Expected counter: 3 + Gas limit: 1378 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000399 + payload fees(the block proposer) ....... +ꜩ0.000399 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "xyz" + This transaction was successfully applied + Updated storage: "xyz" + Storage size: 44 bytes + Consumed gas: 1278.286 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +"xyz" diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_trace_origination_compare_big_type.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_trace_origination_compare_big_type.out new file mode 100644 index 000000000000..f85e5501f520 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_trace_origination_compare_big_type.out @@ -0,0 +1,89 @@ + +./octez-client --mode mockup --wait none originate contract compare_big_type transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/compare_big_type.tz --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 1611.480 units (will add 100 for safety) +Estimated storage: 385 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000527 + Expected counter: 1 + Gas limit: 1712 + Storage limit: 405 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000527 + payload fees(the block proposer) ....... +ꜩ0.000527 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter unit ; + storage unit ; + code { DROP ; + PUSH nat 0 ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DROP ; + UNIT ; + NIL operation ; + PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 128 bytes + Paid storage size diff: 128 bytes + Consumed gas: 1611.446 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.032 + storage fees ........................... +ꜩ0.032 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as compare_big_type. diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_trace_origination_compare_big_type2.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_trace_origination_compare_big_type2.out new file mode 100644 index 000000000000..eb6d41f503cf --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_trace_origination_compare_big_type2.out @@ -0,0 +1,93 @@ + +./octez-client --mode mockup --wait none originate contract compare_big_type2 transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/compare_big_type2.tz --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 1771.634 units (will add 100 for safety) +Estimated storage: 393 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000551 + Expected counter: 1 + Gas limit: 1872 + Storage limit: 413 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000551 + payload fees(the block proposer) ....... +ꜩ0.000551 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter unit ; + storage unit ; + code { DROP ; + PUSH nat 0 ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + PAIR ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DUP ; + DUP ; + COMPARE ; + DROP ; + DROP ; + UNIT ; + NIL operation ; + PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 136 bytes + Paid storage size diff: 136 bytes + Consumed gas: 1771.600 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.034 + storage fees ........................... +ꜩ0.034 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as compare_big_type2. diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_transfer_amount.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_transfer_amount.out new file mode 100644 index 000000000000..ae1459b4b668 --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_transfer_amount.out @@ -0,0 +1,83 @@ + +./octez-client --mode mockup --wait none originate contract transfer_amount transferring 0 from bootstrap1 running michelson_test_scripts/opcodes/transfer_amount.tz --init 0 --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 579.262 units (will add 100 for safety) +Estimated storage: 297 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000335 + Expected counter: 1 + Gas limit: 680 + Storage limit: 317 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000335 + payload fees(the block proposer) ....... +ꜩ0.000335 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter unit ; + storage mutez ; + code { DROP ; AMOUNT ; NIL operation ; PAIR } } + Initial storage: 0 + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 40 bytes + Paid storage size diff: 40 bytes + Consumed gas: 579.228 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01 + storage fees ........................... +ꜩ0.01 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as transfer_amount. + +./octez-client --mode mockup --wait none transfer 500 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg Unit +Node is bootstrapped. +Estimated gas: 1277.435 units (will add 100 for safety) +Estimated storage: 4 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00039 + Expected counter: 2 + Gas limit: 1378 + Storage limit: 24 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00039 + payload fees(the block proposer) ....... +ꜩ0.00039 + Transaction: + Amount: ꜩ500 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: 500000000 + Storage size: 44 bytes + Paid storage size diff: 4 bytes + Consumed gas: 1278.100 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.001 + storage fees ........................... +ꜩ0.001 + [PUBLIC_KEY_HASH] ... -ꜩ500 + [CONTRACT_HASH] ... +ꜩ500 + + +./octez-client --mode mockup get contract storage for '[CONTRACT_HASH]' +500000000 diff --git a/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_transfer_tokens.out b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_transfer_tokens.out new file mode 100644 index 000000000000..5f824663924f --- /dev/null +++ b/tezt/tests/expected/contract_onchain_opcodes.ml/Nairobi- Contract onchain opcodes- test_transfer_tokens.out @@ -0,0 +1,228 @@ + +./octez-client --mode mockup --wait none originate contract test_transfer_contract1 transferring 100 from bootstrap1 running michelson_test_scripts/opcodes/noop.tz --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 578.303 units (will add 100 for safety) +Estimated storage: 295 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000336 + Expected counter: 1 + Gas limit: 679 + Storage limit: 315 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000336 + payload fees(the block proposer) ....... +ꜩ0.000336 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ100 + Script: + { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 38 bytes + Paid storage size diff: 38 bytes + Consumed gas: 578.270 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0095 + storage fees ........................... +ꜩ0.0095 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ100 + [CONTRACT_HASH] ... +ꜩ100 + +New contract [CONTRACT_HASH] originated. +Contract memorized as test_transfer_contract1. + +./octez-client --mode mockup --wait none originate contract test_transfer_contract2 transferring 20 from bootstrap1 running michelson_test_scripts/opcodes/noop.tz --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 578.303 units (will add 100 for safety) +Estimated storage: 295 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000336 + Expected counter: 2 + Gas limit: 679 + Storage limit: 315 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000336 + payload fees(the block proposer) ....... +ꜩ0.000336 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ20 + Script: + { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 38 bytes + Paid storage size diff: 38 bytes + Consumed gas: 578.270 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0095 + storage fees ........................... +ꜩ0.0095 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ20 + [CONTRACT_HASH] ... +ꜩ20 + +New contract [CONTRACT_HASH] originated. +Contract memorized as test_transfer_contract2. + +./octez-client --mode mockup --wait none originate contract transfer_tokens transferring 1000 from bootstrap1 running michelson_test_scripts/opcodes/transfer_tokens.tz --burn-cap 10 --force +Node is bootstrapped. +Estimated gas: 589.415 units (will add 100 for safety) +Estimated storage: 323 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000366 + Expected counter: 3 + Gas limit: 690 + Storage limit: 343 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000366 + payload fees(the block proposer) ....... +ꜩ0.000366 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ1000 + Script: + { parameter (contract unit) ; + storage unit ; + code { CAR ; + DIP { UNIT } ; + PUSH mutez 100000000 ; + UNIT ; + TRANSFER_TOKENS ; + NIL operation ; + SWAP ; + CONS ; + PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 66 bytes + Paid storage size diff: 66 bytes + Consumed gas: 589.382 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ1000 + [CONTRACT_HASH] ... +ꜩ1000 + +New contract [CONTRACT_HASH] originated. +Contract memorized as transfer_tokens. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '"[CONTRACT_HASH]"' +Node is bootstrapped. +Estimated gas: 2948.774 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000599 + Expected counter: 4 + Gas limit: 3049 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000599 + payload fees(the block proposer) ....... +ꜩ0.000599 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[CONTRACT_HASH]" + This transaction was successfully applied + Updated storage: Unit + Storage size: 66 bytes + Consumed gas: 1741.557 + Internal operations: + Internal Transaction: + Amount: ꜩ100 + From: [CONTRACT_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: Unit + Storage size: 38 bytes + Consumed gas: 1208.441 + Balance updates: + [CONTRACT_HASH] ... -ꜩ100 + [CONTRACT_HASH] ... +ꜩ100 + + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 10 --arg '"[CONTRACT_HASH]"' +Node is bootstrapped. +Estimated gas: 2948.774 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000599 + Expected counter: 5 + Gas limit: 3049 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000599 + payload fees(the block proposer) ....... +ꜩ0.000599 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[CONTRACT_HASH]" + This transaction was successfully applied + Updated storage: Unit + Storage size: 66 bytes + Consumed gas: 1741.557 + Internal operations: + Internal Transaction: + Amount: ꜩ100 + From: [CONTRACT_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: Unit + Storage size: 38 bytes + Consumed gas: 1208.441 + Balance updates: + [CONTRACT_HASH] ... -ꜩ100 + [CONTRACT_HASH] ... +ꜩ100 + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input254251340-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input254251340-.out new file mode 100644 index 000000000000..be0300735ae3 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input254251340-.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/abs.tz on storage Unit and input 948 --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 10.211) + [ (Pair 948 Unit) ] + - location: 7 (just consumed gas: 0.010) + [ 948 ] + - location: 8 (just consumed gas: 0.010) + [ 948 + 948 ] + - location: 9 (just consumed gas: 0.026) + [ -948 + 948 ] + - location: 10 (just consumed gas: 0.021) + [ 948 + 948 ] + - location: 11 (just consumed gas: 0.035) + [ 0 ] + - location: 13 (just consumed gas: 0.010) + [ True ] + - location: 14 (just consumed gas: 0) + [ ] + - location: 14 (just consumed gas: 0.015) + [ ] + - location: 20 (just consumed gas: 0.010) + [ Unit ] + - location: 21 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input420401245-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input420401245-.out new file mode 100644 index 000000000000..b9777682b424 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input420401245-.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/abs.tz on storage Unit and input 12039123919239192312931 --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 10.211) + [ (Pair 12039123919239192312931 Unit) ] + - location: 7 (just consumed gas: 0.010) + [ 12039123919239192312931 ] + - location: 8 (just consumed gas: 0.010) + [ 12039123919239192312931 + 12039123919239192312931 ] + - location: 9 (just consumed gas: 0.030) + [ -12039123919239192312931 + 12039123919239192312931 ] + - location: 10 (just consumed gas: 0.025) + [ 12039123919239192312931 + 12039123919239192312931 ] + - location: 11 (just consumed gas: 0.035) + [ 0 ] + - location: 13 (just consumed gas: 0.010) + [ True ] + - location: 14 (just consumed gas: 0) + [ ] + - location: 14 (just consumed gas: 0.015) + [ ] + - location: 20 (just consumed gas: 0.010) + [ Unit ] + - location: 21 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input680650890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input680650890-.out new file mode 100644 index 000000000000..0d76615b406a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -abs--storage125992234--input680650890-.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/abs.tz on storage Unit and input 0 --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 10.211) + [ (Pair 0 Unit) ] + - location: 7 (just consumed gas: 0.010) + [ 0 ] + - location: 8 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 9 (just consumed gas: 0.025) + [ 0 + 0 ] + - location: 10 (just consumed gas: 0.020) + [ 0 + 0 ] + - location: 11 (just consumed gas: 0.035) + [ 0 ] + - location: 13 (just consumed gas: 0.010) + [ True ] + - location: 14 (just consumed gas: 0) + [ ] + - location: 14 (just consumed gas: 0.015) + [ ] + - location: 20 (just consumed gas: 0.010) + [ Unit ] + - location: 21 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add--storage125992234--input125992234-.out new file mode 100644 index 000000000000..1dd2a23cdc3c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add--storage125992234--input125992234-.out @@ -0,0 +1,211 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 68.449) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ Unit ] + - location: 8 (just consumed gas: 0.010) + [ 2 + Unit ] + - location: 11 (just consumed gas: 0.010) + [ 2 + 2 + Unit ] + - location: 14 (just consumed gas: 0.035) + [ 4 + Unit ] + - location: 15 (just consumed gas: 0.010) + [ 4 + 4 + Unit ] + - location: 20 (just consumed gas: 0.035) + [ 0 + Unit ] + - location: 21 (just consumed gas: 0.010) + [ True + Unit ] + - location: 22 (just consumed gas: 0) + [ Unit ] + - location: 22 (just consumed gas: 0.015) + [ Unit ] + - location: 28 (just consumed gas: 0.010) + [ 2 + Unit ] + - location: 31 (just consumed gas: 0.010) + [ 2 + 2 + Unit ] + - location: 34 (just consumed gas: 0.035) + [ 4 + Unit ] + - location: 35 (just consumed gas: 0.010) + [ 4 + 4 + Unit ] + - location: 40 (just consumed gas: 0.035) + [ 0 + Unit ] + - location: 41 (just consumed gas: 0.010) + [ True + Unit ] + - location: 42 (just consumed gas: 0) + [ Unit ] + - location: 42 (just consumed gas: 0.015) + [ Unit ] + - location: 48 (just consumed gas: 0.010) + [ 2 + Unit ] + - location: 51 (just consumed gas: 0.010) + [ 2 + 2 + Unit ] + - location: 54 (just consumed gas: 0.035) + [ 4 + Unit ] + - location: 55 (just consumed gas: 0.010) + [ 4 + 4 + Unit ] + - location: 60 (just consumed gas: 0.035) + [ 0 + Unit ] + - location: 61 (just consumed gas: 0.010) + [ True + Unit ] + - location: 62 (just consumed gas: 0) + [ Unit ] + - location: 62 (just consumed gas: 0.015) + [ Unit ] + - location: 68 (just consumed gas: 0.010) + [ 2 + Unit ] + - location: 71 (just consumed gas: 0.010) + [ 2 + 2 + Unit ] + - location: 74 (just consumed gas: 0.035) + [ 4 + Unit ] + - location: 75 (just consumed gas: 0.010) + [ 4 + 4 + Unit ] + - location: 80 (just consumed gas: 0.035) + [ 0 + Unit ] + - location: 81 (just consumed gas: 0.010) + [ True + Unit ] + - location: 82 (just consumed gas: 0) + [ Unit ] + - location: 82 (just consumed gas: 0.015) + [ Unit ] + - location: 88 (just consumed gas: 0.010) + [ 2 + Unit ] + - location: 91 (just consumed gas: 0.010) + [ 2 + 2 + Unit ] + - location: 94 (just consumed gas: 0.035) + [ 4 + Unit ] + - location: 95 (just consumed gas: 0.010) + [ 4 + 4 + Unit ] + - location: 100 (just consumed gas: 0.035) + [ 0 + Unit ] + - location: 101 (just consumed gas: 0.010) + [ True + Unit ] + - location: 102 (just consumed gas: 0) + [ Unit ] + - location: 102 (just consumed gas: 0.015) + [ Unit ] + - location: 108 (just consumed gas: 0.010) + [ 60 + Unit ] + - location: 111 (just consumed gas: 0.010) + [ "2019-09-09T12:08:37Z" + 60 + Unit ] + - location: 114 (just consumed gas: 0.037) + [ "2019-09-09T12:09:37Z" + Unit ] + - location: 115 (just consumed gas: 0.010) + [ "2019-09-09T12:09:37Z" + "2019-09-09T12:09:37Z" + Unit ] + - location: 120 (just consumed gas: 0.035) + [ 0 + Unit ] + - location: 121 (just consumed gas: 0.010) + [ True + Unit ] + - location: 122 (just consumed gas: 0) + [ Unit ] + - location: 122 (just consumed gas: 0.015) + [ Unit ] + - location: 128 (just consumed gas: 0.010) + [ "2019-09-09T12:08:37Z" + Unit ] + - location: 131 (just consumed gas: 0.010) + [ 60 + "2019-09-09T12:08:37Z" + Unit ] + - location: 134 (just consumed gas: 0.037) + [ "2019-09-09T12:09:37Z" + Unit ] + - location: 135 (just consumed gas: 0.010) + [ "2019-09-09T12:09:37Z" + "2019-09-09T12:09:37Z" + Unit ] + - location: 140 (just consumed gas: 0.035) + [ 0 + Unit ] + - location: 141 (just consumed gas: 0.010) + [ True + Unit ] + - location: 142 (just consumed gas: 0) + [ Unit ] + - location: 142 (just consumed gas: 0.015) + [ Unit ] + - location: 148 (just consumed gas: 0.010) + [ 1000 + Unit ] + - location: 151 (just consumed gas: 0.010) + [ 1000 + 1000 + Unit ] + - location: 154 (just consumed gas: 0.020) + [ 2000 + Unit ] + - location: 155 (just consumed gas: 0.010) + [ 2000 + 2000 + Unit ] + - location: 160 (just consumed gas: 0.035) + [ 0 + Unit ] + - location: 161 (just consumed gas: 0.010) + [ True + Unit ] + - location: 162 (just consumed gas: 0) + [ Unit ] + - location: 162 (just consumed gas: 0.015) + [ Unit ] + - location: 168 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 170 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input322109491-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input322109491-.out new file mode 100644 index 000000000000..a3f782a8939f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input322109491-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_bls12_381_fr.tz on storage None and input 'Pair 0x01 0x00' --level 1 --trace-stack +storage + (Some 0x0100000000000000000000000000000000000000000000000000000000000000) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.381) + [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 + 0x0000000000000000000000000000000000000000000000000000000000000000) + None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 + 0x0000000000000000000000000000000000000000000000000000000000000000) ] + - location: 11 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.030) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} + (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input461261325-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input461261325-.out new file mode 100644 index 000000000000..3c390a3b3b5f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input461261325-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_bls12_381_fr.tz on storage None and input 'Pair 0x010000 0x010000' --level 1 --trace-stack +storage + (Some 0x0200000000000000000000000000000000000000000000000000000000000000) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.381) + [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 + 0x0100000000000000000000000000000000000000000000000000000000000000) + None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 + 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 11 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.030) + [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 0x0200000000000000000000000000000000000000000000000000000000000000) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 0x0200000000000000000000000000000000000000000000000000000000000000) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} + (Some 0x0200000000000000000000000000000000000000000000000000000000000000)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input530006774-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input530006774-.out new file mode 100644 index 000000000000..855d3adb0ab0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input530006774-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_bls12_381_fr.tz on storage None and input 'Pair 0x010000 0x00' --level 1 --trace-stack +storage + (Some 0x0100000000000000000000000000000000000000000000000000000000000000) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.381) + [ (Pair (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 + 0x0000000000000000000000000000000000000000000000000000000000000000) + None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 + 0x0000000000000000000000000000000000000000000000000000000000000000) ] + - location: 11 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.030) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} + (Some 0x0100000000000000000000000000000000000000000000000000000000000000)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input712570300-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input712570300-.out new file mode 100644 index 000000000000..cc14393e5cfd --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_bls12_381_fr--storage921624073--input712570300-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_bls12_381_fr.tz on storage None and input 'Pair 0x00 0x00' --level 1 --trace-stack +storage + (Some 0x0000000000000000000000000000000000000000000000000000000000000000) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.381) + [ (Pair (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 + 0x0000000000000000000000000000000000000000000000000000000000000000) + None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 + 0x0000000000000000000000000000000000000000000000000000000000000000) ] + - location: 11 (just consumed gas: 0.010) + [ 0x0000000000000000000000000000000000000000000000000000000000000000 + 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.030) + [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} + (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input249636002-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input249636002-.out new file mode 100644 index 000000000000..3126e2b70fdc --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input249636002-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_delta_timestamp.tz on storage None and input '(Pair 100 100)' --level 1 --trace-stack +storage + (Some "1970-01-01T00:03:20Z") +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.232) + [ (Pair (Pair 100 "1970-01-01T00:01:40Z") None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 100 "1970-01-01T00:01:40Z") ] + - location: 11 (just consumed gas: 0.010) + [ (Pair 100 "1970-01-01T00:01:40Z") + (Pair 100 "1970-01-01T00:01:40Z") ] + - location: 12 (just consumed gas: 0.010) + [ 100 + (Pair 100 "1970-01-01T00:01:40Z") ] + - location: 13 (just consumed gas: 0) + [ (Pair 100 "1970-01-01T00:01:40Z") ] + - location: 15 (just consumed gas: 0.010) + [ "1970-01-01T00:01:40Z" ] + - location: 13 (just consumed gas: 0.025) + [ 100 + "1970-01-01T00:01:40Z" ] + - location: 16 (just consumed gas: 0.035) + [ "1970-01-01T00:03:20Z" ] + - location: 17 (just consumed gas: 0.010) + [ (Some "1970-01-01T00:03:20Z") ] + - location: 18 (just consumed gas: 0.010) + [ {} + (Some "1970-01-01T00:03:20Z") ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input267363182-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input267363182-.out new file mode 100644 index 000000000000..4078ee9d7f08 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input267363182-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_delta_timestamp.tz on storage None and input '(Pair -100 100)' --level 1 --trace-stack +storage + (Some "1970-01-01T00:00:00Z") +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.232) + [ (Pair (Pair -100 "1970-01-01T00:01:40Z") None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair -100 "1970-01-01T00:01:40Z") ] + - location: 11 (just consumed gas: 0.010) + [ (Pair -100 "1970-01-01T00:01:40Z") + (Pair -100 "1970-01-01T00:01:40Z") ] + - location: 12 (just consumed gas: 0.010) + [ -100 + (Pair -100 "1970-01-01T00:01:40Z") ] + - location: 13 (just consumed gas: 0) + [ (Pair -100 "1970-01-01T00:01:40Z") ] + - location: 15 (just consumed gas: 0.010) + [ "1970-01-01T00:01:40Z" ] + - location: 13 (just consumed gas: 0.025) + [ -100 + "1970-01-01T00:01:40Z" ] + - location: 16 (just consumed gas: 0.035) + [ "1970-01-01T00:00:00Z" ] + - location: 17 (just consumed gas: 0.010) + [ (Some "1970-01-01T00:00:00Z") ] + - location: 18 (just consumed gas: 0.010) + [ {} + (Some "1970-01-01T00:00:00Z") ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input438561129-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input438561129-.out new file mode 100644 index 000000000000..70ff2ffe2898 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_delta_timestamp--storage921624073--input438561129-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_delta_timestamp.tz on storage None and input '(Pair 0 "1970-01-01T00:00:00Z")' --level 1 --trace-stack +storage + (Some "1970-01-01T00:00:00Z") +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.340) + [ (Pair (Pair 0 "1970-01-01T00:00:00Z") None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0 "1970-01-01T00:00:00Z") ] + - location: 11 (just consumed gas: 0.010) + [ (Pair 0 "1970-01-01T00:00:00Z") + (Pair 0 "1970-01-01T00:00:00Z") ] + - location: 12 (just consumed gas: 0.010) + [ 0 + (Pair 0 "1970-01-01T00:00:00Z") ] + - location: 13 (just consumed gas: 0) + [ (Pair 0 "1970-01-01T00:00:00Z") ] + - location: 15 (just consumed gas: 0.010) + [ "1970-01-01T00:00:00Z" ] + - location: 13 (just consumed gas: 0.025) + [ 0 + "1970-01-01T00:00:00Z" ] + - location: 16 (just consumed gas: 0.035) + [ "1970-01-01T00:00:00Z" ] + - location: 17 (just consumed gas: 0.010) + [ (Some "1970-01-01T00:00:00Z") ] + - location: 18 (just consumed gas: 0.010) + [ {} + (Some "1970-01-01T00:00:00Z") ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input249636002-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input249636002-.out new file mode 100644 index 000000000000..d5a28c590959 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input249636002-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_timestamp_delta.tz on storage None and input '(Pair 100 100)' --level 1 --trace-stack +storage + (Some "1970-01-01T00:03:20Z") +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.232) + [ (Pair (Pair "1970-01-01T00:01:40Z" 100) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" 100) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" 100) + (Pair "1970-01-01T00:01:40Z" 100) ] + - location: 12 (just consumed gas: 0.010) + [ "1970-01-01T00:01:40Z" + (Pair "1970-01-01T00:01:40Z" 100) ] + - location: 13 (just consumed gas: 0) + [ (Pair "1970-01-01T00:01:40Z" 100) ] + - location: 15 (just consumed gas: 0.010) + [ 100 ] + - location: 13 (just consumed gas: 0.025) + [ "1970-01-01T00:01:40Z" + 100 ] + - location: 16 (just consumed gas: 0.035) + [ "1970-01-01T00:03:20Z" ] + - location: 17 (just consumed gas: 0.010) + [ (Some "1970-01-01T00:03:20Z") ] + - location: 18 (just consumed gas: 0.010) + [ {} + (Some "1970-01-01T00:03:20Z") ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some "1970-01-01T00:03:20Z")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input307538219-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input307538219-.out new file mode 100644 index 000000000000..254a60f562cc --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input307538219-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_timestamp_delta.tz on storage None and input '(Pair 100 -100)' --level 1 --trace-stack +storage + (Some "1970-01-01T00:00:00Z") +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.232) + [ (Pair (Pair "1970-01-01T00:01:40Z" -100) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" -100) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" -100) + (Pair "1970-01-01T00:01:40Z" -100) ] + - location: 12 (just consumed gas: 0.010) + [ "1970-01-01T00:01:40Z" + (Pair "1970-01-01T00:01:40Z" -100) ] + - location: 13 (just consumed gas: 0) + [ (Pair "1970-01-01T00:01:40Z" -100) ] + - location: 15 (just consumed gas: 0.010) + [ -100 ] + - location: 13 (just consumed gas: 0.025) + [ "1970-01-01T00:01:40Z" + -100 ] + - location: 16 (just consumed gas: 0.035) + [ "1970-01-01T00:00:00Z" ] + - location: 17 (just consumed gas: 0.010) + [ (Some "1970-01-01T00:00:00Z") ] + - location: 18 (just consumed gas: 0.010) + [ {} + (Some "1970-01-01T00:00:00Z") ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input373737581-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input373737581-.out new file mode 100644 index 000000000000..699a2d622332 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -add_timestamp_delta--storage921624073--input373737581-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/add_timestamp_delta.tz on storage None and input '(Pair "1970-01-01T00:00:00Z" 0)' --level 1 --trace-stack +storage + (Some "1970-01-01T00:00:00Z") +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.340) + [ (Pair (Pair "1970-01-01T00:00:00Z" 0) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:00:00Z" 0) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:00:00Z" 0) + (Pair "1970-01-01T00:00:00Z" 0) ] + - location: 12 (just consumed gas: 0.010) + [ "1970-01-01T00:00:00Z" + (Pair "1970-01-01T00:00:00Z" 0) ] + - location: 13 (just consumed gas: 0) + [ (Pair "1970-01-01T00:00:00Z" 0) ] + - location: 15 (just consumed gas: 0.010) + [ 0 ] + - location: 13 (just consumed gas: 0.025) + [ "1970-01-01T00:00:00Z" + 0 ] + - location: 16 (just consumed gas: 0.035) + [ "1970-01-01T00:00:00Z" ] + - location: 17 (just consumed gas: 0.010) + [ (Some "1970-01-01T00:00:00Z") ] + - location: 18 (just consumed gas: 0.010) + [ {} + (Some "1970-01-01T00:00:00Z") ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some "1970-01-01T00:00:00Z")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -address--storage921624073--input117475800-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -address--storage921624073--input117475800-.out new file mode 100644 index 000000000000..5c7c85bab139 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -address--storage921624073--input117475800-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/address.tz on storage None and input '"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"' --level 1 --trace-stack +storage + (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 9.061) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" None) ] + - location: 9 (just consumed gas: 0.010) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 10 (just consumed gas: 0.010) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 11 (just consumed gas: 0.010) + [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 12 (just consumed gas: 0.010) + [ {} + (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input106930123-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input106930123-.out new file mode 100644 index 000000000000..b6d5936fd794 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input106930123-.out @@ -0,0 +1,31 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and.tz on storage None and input '(Pair False True)' --level 1 --trace-stack +storage + (Some False) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 7.572) + [ (Pair (Pair False True) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair False True) ] + - location: 11 (just consumed gas: 0.010) + [ False + True ] + - location: 12 (just consumed gas: 0.010) + [ False ] + - location: 13 (just consumed gas: 0.010) + [ (Some False) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input181204719-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input181204719-.out new file mode 100644 index 000000000000..7e21094a56b3 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input181204719-.out @@ -0,0 +1,31 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and.tz on storage None and input '(Pair True False)' --level 1 --trace-stack +storage + (Some False) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 7.572) + [ (Pair (Pair True False) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair True False) ] + - location: 11 (just consumed gas: 0.010) + [ True + False ] + - location: 12 (just consumed gas: 0.010) + [ False ] + - location: 13 (just consumed gas: 0.010) + [ (Some False) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input223774825-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input223774825-.out new file mode 100644 index 000000000000..14514d8d638a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input223774825-.out @@ -0,0 +1,31 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and.tz on storage None and input '(Pair False False)' --level 1 --trace-stack +storage + (Some False) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 7.572) + [ (Pair (Pair False False) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair False False) ] + - location: 11 (just consumed gas: 0.010) + [ False + False ] + - location: 12 (just consumed gas: 0.010) + [ False ] + - location: 13 (just consumed gas: 0.010) + [ (Some False) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input908807505-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input908807505-.out new file mode 100644 index 000000000000..2ec5946f5f75 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and--storage921624073--input908807505-.out @@ -0,0 +1,31 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and.tz on storage None and input '(Pair True True)' --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 7.572) + [ (Pair (Pair True True) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair True True) ] + - location: 11 (just consumed gas: 0.010) + [ True + True ] + - location: 12 (just consumed gas: 0.010) + [ True ] + - location: 13 (just consumed gas: 0.010) + [ (Some True) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_binary--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_binary--storage125992234--input125992234-.out new file mode 100644 index 000000000000..8c960e190868 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_binary--storage125992234--input125992234-.out @@ -0,0 +1,93 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and_binary.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 36.249) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 5 ] + - location: 11 (just consumed gas: 0.010) + [ 6 + 5 ] + - location: 14 (just consumed gas: 0.035) + [ 4 ] + - location: 15 (just consumed gas: 0.010) + [ 4 + 4 ] + - location: 20 (just consumed gas: 0.035) + [ 0 ] + - location: 21 (just consumed gas: 0.010) + [ True ] + - location: 22 (just consumed gas: 0) + [ ] + - location: 22 (just consumed gas: 0.015) + [ ] + - location: 28 (just consumed gas: 0.010) + [ 6 ] + - location: 31 (just consumed gas: 0.010) + [ 5 + 6 ] + - location: 34 (just consumed gas: 0.035) + [ 4 ] + - location: 35 (just consumed gas: 0.010) + [ 4 + 4 ] + - location: 40 (just consumed gas: 0.035) + [ 0 ] + - location: 41 (just consumed gas: 0.010) + [ True ] + - location: 42 (just consumed gas: 0) + [ ] + - location: 42 (just consumed gas: 0.015) + [ ] + - location: 48 (just consumed gas: 0.010) + [ 12 ] + - location: 51 (just consumed gas: 0.010) + [ -1 + 12 ] + - location: 54 (just consumed gas: 0.035) + [ 12 ] + - location: 55 (just consumed gas: 0.010) + [ 12 + 12 ] + - location: 60 (just consumed gas: 0.035) + [ 0 ] + - location: 61 (just consumed gas: 0.010) + [ True ] + - location: 62 (just consumed gas: 0) + [ ] + - location: 62 (just consumed gas: 0.015) + [ ] + - location: 68 (just consumed gas: 0.010) + [ 12 ] + - location: 71 (just consumed gas: 0.010) + [ -5 + 12 ] + - location: 74 (just consumed gas: 0.035) + [ 8 ] + - location: 75 (just consumed gas: 0.010) + [ 8 + 8 ] + - location: 80 (just consumed gas: 0.035) + [ 0 ] + - location: 81 (just consumed gas: 0.010) + [ True ] + - location: 82 (just consumed gas: 0) + [ ] + - location: 82 (just consumed gas: 0.015) + [ ] + - location: 88 (just consumed gas: 0.010) + [ Unit ] + - location: 89 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 91 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_bytes--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_bytes--storage125992234--input125992234-.out new file mode 100644 index 000000000000..fc1d527cae40 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_bytes--storage125992234--input125992234-.out @@ -0,0 +1,75 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and_bytes_016.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 28.329) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 0x05 ] + - location: 11 (just consumed gas: 0.010) + [ 0x06 + 0x05 ] + - location: 14 (just consumed gas: 0.035) + [ 0x04 ] + - location: 15 (just consumed gas: 0.010) + [ 0x04 + 0x04 ] + - location: 20 (just consumed gas: 0.035) + [ 0 ] + - location: 21 (just consumed gas: 0.010) + [ True ] + - location: 22 (just consumed gas: 0) + [ ] + - location: 22 (just consumed gas: 0.015) + [ ] + - location: 28 (just consumed gas: 0.010) + [ 0x0005 ] + - location: 31 (just consumed gas: 0.010) + [ 0x0106 + 0x0005 ] + - location: 34 (just consumed gas: 0.036) + [ 0x0004 ] + - location: 35 (just consumed gas: 0.010) + [ 0x0004 + 0x0004 ] + - location: 40 (just consumed gas: 0.035) + [ 0 ] + - location: 41 (just consumed gas: 0.010) + [ True ] + - location: 42 (just consumed gas: 0) + [ ] + - location: 42 (just consumed gas: 0.015) + [ ] + - location: 48 (just consumed gas: 0.010) + [ 0x05 ] + - location: 51 (just consumed gas: 0.010) + [ 0x0106 + 0x05 ] + - location: 54 (just consumed gas: 0.035) + [ 0x04 ] + - location: 55 (just consumed gas: 0.010) + [ 0x04 + 0x04 ] + - location: 60 (just consumed gas: 0.035) + [ 0 ] + - location: 61 (just consumed gas: 0.010) + [ True ] + - location: 62 (just consumed gas: 0) + [ ] + - location: 62 (just consumed gas: 0.015) + [ ] + - location: 68 (just consumed gas: 0.010) + [ Unit ] + - location: 69 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 71 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input106930123-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input106930123-.out new file mode 100644 index 000000000000..a4c318f11501 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input106930123-.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and_logical_1.tz on storage False and input '(Pair False True)' --level 1 --trace-stack +storage + False +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 5.366) + [ (Pair (Pair False True) False) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair False True) ] + - location: 10 (just consumed gas: 0.010) + [ False + True ] + - location: 11 (just consumed gas: 0.010) + [ False ] + - location: 12 (just consumed gas: 0.010) + [ {} + False ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} False) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input181204719-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input181204719-.out new file mode 100644 index 000000000000..6584636024e2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input181204719-.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and_logical_1.tz on storage False and input '(Pair True False)' --level 1 --trace-stack +storage + False +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 5.366) + [ (Pair (Pair True False) False) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair True False) ] + - location: 10 (just consumed gas: 0.010) + [ True + False ] + - location: 11 (just consumed gas: 0.010) + [ False ] + - location: 12 (just consumed gas: 0.010) + [ {} + False ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} False) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input223774825-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input223774825-.out new file mode 100644 index 000000000000..b29b91412712 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input223774825-.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and_logical_1.tz on storage False and input '(Pair False False)' --level 1 --trace-stack +storage + False +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 5.366) + [ (Pair (Pair False False) False) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair False False) ] + - location: 10 (just consumed gas: 0.010) + [ False + False ] + - location: 11 (just consumed gas: 0.010) + [ False ] + - location: 12 (just consumed gas: 0.010) + [ {} + False ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} False) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input908807505-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input908807505-.out new file mode 100644 index 000000000000..e759fd88ff90 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -and_logical_1--storage570553153--input908807505-.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/and_logical_1.tz on storage False and input '(Pair True True)' --level 1 --trace-stack +storage + True +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 5.366) + [ (Pair (Pair True True) False) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair True True) ] + - location: 10 (just consumed gas: 0.010) + [ True + True ] + - location: 11 (just consumed gas: 0.010) + [ True ] + - location: 12 (just consumed gas: 0.010) + [ {} + True ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} True) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -balance--storage492856247--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -balance--storage492856247--input125992234-.out new file mode 100644 index 000000000000..41726d9c834c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -balance--storage492856247--input125992234-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/balance.tz on storage 111 and input Unit --level 1 --trace-stack +storage + 4000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 111) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 4000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 4000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 4000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage495706788--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage495706788--input453441034-.out new file mode 100644 index 000000000000..48c06ff59a1f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage495706788--input453441034-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_nat.tz on storage '(Pair {} None)' and input 1 --level 1 --trace-stack +storage + (Pair 4 (Some False)) +emitted operations + +big_map diff + New map(4) of type (big_map nat nat) +trace + - location: 12 (just consumed gas: 9.936) + [ (Pair 1 {} None) ] + - location: 12 (just consumed gas: 0.010) + [ 1 + (Pair {} None) ] + - location: 13 (just consumed gas: 0) + [ (Pair {} None) ] + - location: 15 (just consumed gas: 0.010) + [ {} ] + - location: 16 (just consumed gas: 0.010) + [ {} + {} ] + - location: 13 (just consumed gas: 0.025) + [ 1 + {} + {} ] + - location: 17 (just consumed gas: 0.720) + [ False + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + {} ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair {} (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input453441034-.out new file mode 100644 index 000000000000..972e5cd2722f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input453441034-.out @@ -0,0 +1,44 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_nat.tz on storage '(Pair { Elt 1 4 ; Elt 2 11 } None)' and input 1 --level 1 --trace-stack +storage + (Pair 4 (Some True)) +emitted operations + +big_map diff + New map(4) of type (big_map nat nat) + Set map(4)[1] to 4 + Set map(4)[2] to 11 +trace + - location: 12 (just consumed gas: 11.838) + [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 1 + (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 13 (just consumed gas: 0.025) + [ 1 + { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 17 (just consumed gas: 0.723) + [ True + { Elt 1 4 ; Elt 2 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt 1 4 ; Elt 2 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input564400327-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input564400327-.out new file mode 100644 index 000000000000..1dfb11728ee2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input564400327-.out @@ -0,0 +1,44 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_nat.tz on storage '(Pair { Elt 1 4 ; Elt 2 11 } None)' and input 2 --level 1 --trace-stack +storage + (Pair 4 (Some True)) +emitted operations + +big_map diff + New map(4) of type (big_map nat nat) + Set map(4)[1] to 4 + Set map(4)[2] to 11 +trace + - location: 12 (just consumed gas: 11.838) + [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 2 + (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 13 (just consumed gas: 0.025) + [ 2 + { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 17 (just consumed gas: 0.723) + [ True + { Elt 1 4 ; Elt 2 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt 1 4 ; Elt 2 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input654274102-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input654274102-.out new file mode 100644 index 000000000000..3f1c462c35b6 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage56274299--input654274102-.out @@ -0,0 +1,44 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_nat.tz on storage '(Pair { Elt 1 4 ; Elt 2 11 } None)' and input 3 --level 1 --trace-stack +storage + (Pair 4 (Some False)) +emitted operations + +big_map diff + New map(4) of type (big_map nat nat) + Set map(4)[1] to 4 + Set map(4)[2] to 11 +trace + - location: 12 (just consumed gas: 11.838) + [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 3 + (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 13 (just consumed gas: 0.025) + [ 3 + { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 17 (just consumed gas: 0.723) + [ False + { Elt 1 4 ; Elt 2 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + { Elt 1 4 ; Elt 2 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage690637660--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage690637660--input453441034-.out new file mode 100644 index 000000000000..46e8f748009d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage690637660--input453441034-.out @@ -0,0 +1,43 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_nat.tz on storage '(Pair { Elt 1 0 } None)' and input 1 --level 1 --trace-stack +storage + (Pair 4 (Some True)) +emitted operations + +big_map diff + New map(4) of type (big_map nat nat) + Set map(4)[1] to 0 +trace + - location: 12 (just consumed gas: 10.868) + [ (Pair 1 { Elt 1 0 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 1 + (Pair { Elt 1 0 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 1 0 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 1 0 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 1 0 } + { Elt 1 0 } ] + - location: 13 (just consumed gas: 0.025) + [ 1 + { Elt 1 0 } + { Elt 1 0 } ] + - location: 17 (just consumed gas: 0.722) + [ True + { Elt 1 0 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt 1 0 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 1 0 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 1 0 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 1 0 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 1 0 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage806237530--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage806237530--input453441034-.out new file mode 100644 index 000000000000..e17a1399ee47 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_nat--storage806237530--input453441034-.out @@ -0,0 +1,43 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_nat.tz on storage '(Pair { Elt 0 1 } None)' and input 1 --level 1 --trace-stack +storage + (Pair 4 (Some False)) +emitted operations + +big_map diff + New map(4) of type (big_map nat nat) + Set map(4)[0] to 1 +trace + - location: 12 (just consumed gas: 10.843) + [ (Pair 1 { Elt 0 1 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 1 + (Pair { Elt 0 1 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 0 1 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 0 1 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 0 1 } + { Elt 0 1 } ] + - location: 13 (just consumed gas: 0.025) + [ 1 + { Elt 0 1 } + { Elt 0 1 } ] + - location: 17 (just consumed gas: 0.722) + [ False + { Elt 0 1 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + { Elt 0 1 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 0 1 } + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 0 1 } (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 0 1 } (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 0 1 } (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input1071610051-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input1071610051-.out new file mode 100644 index 000000000000..6bb80a48c9e9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input1071610051-.out @@ -0,0 +1,44 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_string.tz on storage '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)' and input '"baz"' --level 1 --trace-stack +storage + (Pair 4 (Some False)) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["bar"] to 4 + Set map(4)["foo"] to 11 +trace + - location: 12 (just consumed gas: 11.994) + [ (Pair "baz" { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "baz" + (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 13 (just consumed gas: 0.025) + [ "baz" + { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 17 (just consumed gas: 0.735) + [ False + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input700475845-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input700475845-.out new file mode 100644 index 000000000000..6f05b27dc864 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input700475845-.out @@ -0,0 +1,44 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_string.tz on storage '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)' and input '"bar"' --level 1 --trace-stack +storage + (Pair 4 (Some True)) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["bar"] to 4 + Set map(4)["foo"] to 11 +trace + - location: 12 (just consumed gas: 11.994) + [ (Pair "bar" { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "bar" + (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 13 (just consumed gas: 0.025) + [ "bar" + { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 17 (just consumed gas: 0.735) + [ True + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input905318451-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input905318451-.out new file mode 100644 index 000000000000..8c2256e48d7f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage109689253--input905318451-.out @@ -0,0 +1,44 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_string.tz on storage '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)' and input '"foo"' --level 1 --trace-stack +storage + (Pair 4 (Some True)) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["bar"] to 4 + Set map(4)["foo"] to 11 +trace + - location: 12 (just consumed gas: 11.994) + [ (Pair "foo" { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "foo" + (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 13 (just consumed gas: 0.025) + [ "foo" + { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 17 (just consumed gas: 0.735) + [ True + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage495706788--input700475845-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage495706788--input700475845-.out new file mode 100644 index 000000000000..50d1fb903e48 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage495706788--input700475845-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_string.tz on storage '(Pair {} None)' and input '"bar"' --level 1 --trace-stack +storage + (Pair 4 (Some False)) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) +trace + - location: 12 (just consumed gas: 9.980) + [ (Pair "bar" {} None) ] + - location: 12 (just consumed gas: 0.010) + [ "bar" + (Pair {} None) ] + - location: 13 (just consumed gas: 0) + [ (Pair {} None) ] + - location: 15 (just consumed gas: 0.010) + [ {} ] + - location: 16 (just consumed gas: 0.010) + [ {} + {} ] + - location: 13 (just consumed gas: 0.025) + [ "bar" + {} + {} ] + - location: 17 (just consumed gas: 0.732) + [ False + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + {} ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair {} (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage915708427--input700475845-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage915708427--input700475845-.out new file mode 100644 index 000000000000..27fc66495475 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage915708427--input700475845-.out @@ -0,0 +1,43 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_string.tz on storage '(Pair { Elt "foo" 1 } None)' and input '"bar"' --level 1 --trace-stack +storage + (Pair 4 (Some False)) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["foo"] to 1 +trace + - location: 12 (just consumed gas: 10.968) + [ (Pair "bar" { Elt "foo" 1 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "bar" + (Pair { Elt "foo" 1 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "foo" 1 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "foo" 1 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "foo" 1 } + { Elt "foo" 1 } ] + - location: 13 (just consumed gas: 0.025) + [ "bar" + { Elt "foo" 1 } + { Elt "foo" 1 } ] + - location: 17 (just consumed gas: 0.734) + [ False + { Elt "foo" 1 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + { Elt "foo" 1 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "foo" 1 } + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "foo" 1 } (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "foo" 1 } (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "foo" 1 } (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage936682951--input905318451-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage936682951--input905318451-.out new file mode 100644 index 000000000000..2ad0c6fa294c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -big_map_mem_string--storage936682951--input905318451-.out @@ -0,0 +1,43 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/big_map_mem_string.tz on storage '(Pair { Elt "foo" 0 } None)' and input '"foo"' --level 1 --trace-stack +storage + (Pair 4 (Some True)) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["foo"] to 0 +trace + - location: 12 (just consumed gas: 10.968) + [ (Pair "foo" { Elt "foo" 0 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "foo" + (Pair { Elt "foo" 0 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "foo" 0 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "foo" 0 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "foo" 0 } + { Elt "foo" 0 } ] + - location: 13 (just consumed gas: 0.025) + [ "foo" + { Elt "foo" 0 } + { Elt "foo" 0 } ] + - location: 17 (just consumed gas: 0.734) + [ True + { Elt "foo" 0 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt "foo" 0 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "foo" 0 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "foo" 0 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "foo" 0 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "foo" 0 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_push_bytes_not_padded--storage921624073--input125.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_push_bytes_not_padded--storage921624073--input125.out new file mode 100644 index 000000000000..27635868f4d8 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_push_bytes_not_padded--storage921624073--input125.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_push_bytes_not_padded.tz on storage None and input Unit --level 1 --trace-stack +storage + (Some 0x0000000000000000000000000000000000000000000000000000000000000000) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.634) + [ (Pair Unit None) ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.010) + [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] + - location: 13 (just consumed gas: 0.010) + [ {} + (Some 0x0000000000000000000000000000000000000000000000000000000000000000) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair {} + (Some 0x0000000000000000000000000000000000000000000000000000000000000000)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_push_nat--storage921624073--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_push_nat--storage921624073--input125992234-.out new file mode 100644 index 000000000000..577a224ea5e7 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_push_nat--storage921624073--input125992234-.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_push_nat.tz on storage None and input Unit --level 1 --trace-stack +storage + (Some 0x1000000000000000000000000000000000000000000000000000000000000000) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.634) + [ (Pair Unit None) ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.010) + [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Some 0x1000000000000000000000000000000000000000000000000000000000000000) ] + - location: 13 (just consumed gas: 0.010) + [ {} + (Some 0x1000000000000000000000000000000000000000000000000000000000000000) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair {} + (Some 0x1000000000000000000000000000000000000000000000000000000000000000)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input1043734173-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input1043734173-.out new file mode 100644 index 000000000000..06e1da0675fa --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input1043734173-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_to_int.tz on storage 0 and input 0x01 --level 1 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 0x0100000000000000000000000000000000000000000000000000000000000000 0) ] + - location: 7 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.115) + [ 1 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input151303925-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input151303925-.out new file mode 100644 index 000000000000..eaed88975e6f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input151303925-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_to_int.tz on storage 0 and input 0x00 --level 1 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 0x0000000000000000000000000000000000000000000000000000000000000000 0) ] + - location: 7 (just consumed gas: 0.010) + [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.115) + [ 0 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input520610122-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input520610122-.out new file mode 100644 index 000000000000..f9f2c2987b3b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input520610122-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_to_int.tz on storage 0 and input 0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719 --level 1 --trace-stack +storage + 11320265829256585830781521966149529460476767408210445238902869222031333517497 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719 0) ] + - location: 7 (just consumed gas: 0.010) + [ 0xb9e8abf8dc324a010007addde986fe0f7c81fab16d26819d0534b7691c0b0719 ] + - location: 8 (just consumed gas: 0.115) + [ 11320265829256585830781521966149529460476767408210445238902869222031333517497 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 11320265829256585830781521966149529460476767408210445238902869222031333517497 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} + 11320265829256585830781521966149529460476767408210445238902869222031333517497) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input558805129-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input558805129-.out new file mode 100644 index 000000000000..991f5f898f67 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_int--storage680650890--input558805129-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_to_int.tz on storage 0 and input 0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27 --level 1 --trace-stack +storage + 17832688077013577776524784494464728518213913213412866604053735695200962927400 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27 0) ] + - location: 7 (just consumed gas: 0.010) + [ 0x28db8e57af88d9576acd181b89f24e50a89a6423f939026ed91349fc9af16c27 ] + - location: 8 (just consumed gas: 0.115) + [ 17832688077013577776524784494464728518213913213412866604053735695200962927400 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 17832688077013577776524784494464728518213913213412866604053735695200962927400 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} + 17832688077013577776524784494464728518213913213412866604053735695200962927400) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_mutez--storage680650890--input229402968-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_mutez--storage680650890--input229402968-.out new file mode 100644 index 000000000000..763197842bad --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_to_mutez--storage680650890--input229402968-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_to_mutez.tz on storage 0 and input 0x10 --level 1 --trace-stack +storage + 16 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 9.316) + [ (Pair 0x1000000000000000000000000000000000000000000000000000000000000000 0) ] + - location: 7 (just consumed gas: 0.010) + [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.115) + [ 16 ] + - location: 9 (just consumed gas: 0.010) + [ (Some 16) ] + - location: 11 (just consumed gas: 0) + [ 16 ] + - location: 11 (just consumed gas: 0.015) + [ 16 ] + - location: 17 (just consumed gas: 0.010) + [ 1 + 16 ] + - location: 20 (just consumed gas: 0) + [ 16 ] + - location: 21 (just consumed gas: 0.010) + [ {} + 16 ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} 16) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage287336412--input1019409032-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage287336412--input1019409032-.out new file mode 100644 index 000000000000..af0b8161e754 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage287336412--input1019409032-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f and input 22620284817922784902564672469917992996328211127984472897491698543785655336309 --level 1 --trace-stack +storage + 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 + 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] + - location: 7 (just consumed gas: 0.010) + [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 + 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f ] + - location: 8 (just consumed gas: 0.299) + [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage698210250--input949526473-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage698210250--input949526473-.out new file mode 100644 index 000000000000..bde990ea21d7 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage698210250--input949526473-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f and input 33644916630334844239120348434626468649534186770809802792596996408934105684394 --level 1 --trace-stack +storage + 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 + 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] + - location: 7 (just consumed gas: 0.010) + [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 + 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f ] + - location: 8 (just consumed gas: 0.299) + [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage739946440--input166435292-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage739946440--input166435292-.out new file mode 100644 index 000000000000..af2edb2f999a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage739946440--input166435292-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d and input 69615968247920749285624776342583898043608129789011377475114141186797415307882 --level 1 --trace-stack +storage + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] + - location: 7 (just consumed gas: 0.010) + [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] + - location: 8 (just consumed gas: 0.299) + [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage739946440--input583291483-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage739946440--input583291483-.out new file mode 100644 index 000000000000..18df53197ad3 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage739946440--input583291483-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d and input 17180093072794558806177035834397932205917577288483739652510482486858834123369 --level 1 --trace-stack +storage + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] + - location: 7 (just consumed gas: 0.010) + [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] + - location: 8 (just consumed gas: 0.299) + [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input1055524890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input1055524890-.out new file mode 100644 index 000000000000..e15aae96e877 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input1055524890-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 52435875175126190479447740508185965837690552500527637822603658699938581184514 --level 1 --trace-stack +storage + 0x0100000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 + 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.299) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input453441034-.out new file mode 100644 index 000000000000..68ae518f7d5f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input453441034-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 1 --level 1 --trace-stack +storage + 0x0100000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 1 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.266) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input564400327-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input564400327-.out new file mode 100644 index 000000000000..2c01f76fbc14 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input564400327-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 2 --level 1 --trace-stack +storage + 0x0200000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 2 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.266) + [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x0200000000000000000000000000000000000000000000000000000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input585234482-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input585234482-.out new file mode 100644 index 000000000000..7229556357cb --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input585234482-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input -42 --level 1 --trace-stack +storage + 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair -42 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ -42 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.266) + [ 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input680650890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input680650890-.out new file mode 100644 index 000000000000..cf43881b492d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input680650890-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 0 --level 1 --trace-stack +storage + 0x0000000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 0 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.265) + [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input701858804-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input701858804-.out new file mode 100644 index 000000000000..fbf80a5e2cd5 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_int--storage994282947--input701858804-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input -1 --level 1 --trace-stack +storage + 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair -1 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ -1 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.266) + [ 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage287336412--input1019409032-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage287336412--input1019409032-.out new file mode 100644 index 000000000000..f546af60d497 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage287336412--input1019409032-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz on storage 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f and input 22620284817922784902564672469917992996328211127984472897491698543785655336309 --level 1 --trace-stack +storage + 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 + 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] + - location: 7 (just consumed gas: 0.010) + [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 + 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f ] + - location: 8 (just consumed gas: 0.299) + [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage698210250--input949526473-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage698210250--input949526473-.out new file mode 100644 index 000000000000..12c2cbacca9e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage698210250--input949526473-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz on storage 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f and input 33644916630334844239120348434626468649534186770809802792596996408934105684394 --level 1 --trace-stack +storage + 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 + 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] + - location: 7 (just consumed gas: 0.010) + [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 + 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f ] + - location: 8 (just consumed gas: 0.299) + [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage739946440--input166435292-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage739946440--input166435292-.out new file mode 100644 index 000000000000..569398919896 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage739946440--input166435292-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz on storage 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d and input 69615968247920749285624776342583898043608129789011377475114141186797415307882 --level 1 --trace-stack +storage + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] + - location: 7 (just consumed gas: 0.010) + [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] + - location: 8 (just consumed gas: 0.299) + [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage739946440--input583291483-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage739946440--input583291483-.out new file mode 100644 index 000000000000..3f7edb4b4f31 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage739946440--input583291483-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz on storage 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d and input 17180093072794558806177035834397932205917577288483739652510482486858834123369 --level 1 --trace-stack +storage + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] + - location: 7 (just consumed gas: 0.010) + [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] + - location: 8 (just consumed gas: 0.299) + [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input1055524890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input1055524890-.out new file mode 100644 index 000000000000..b88929c18661 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input1055524890-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 52435875175126190479447740508185965837690552500527637822603658699938581184514 --level 1 --trace-stack +storage + 0x0100000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 + 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.299) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input453441034-.out new file mode 100644 index 000000000000..b6d1352cbfc3 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input453441034-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 1 --level 1 --trace-stack +storage + 0x0100000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 1 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.266) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input564400327-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input564400327-.out new file mode 100644 index 000000000000..e19042947e88 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input564400327-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 2 --level 1 --trace-stack +storage + 0x0200000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 2 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.266) + [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x0200000000000000000000000000000000000000000000000000000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input680650890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input680650890-.out new file mode 100644 index 000000000000..511d3bc94162 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_fr_z_nat--storage994282947--input680650890-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 0 --level 1 --trace-stack +storage + 0x0000000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.387) + [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 0 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.265) + [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage287336412--input1019409032-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage287336412--input1019409032-.out new file mode 100644 index 000000000000..a0061efad6c9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage287336412--input1019409032-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f and input 22620284817922784902564672469917992996328211127984472897491698543785655336309 --level 1 --trace-stack +storage + 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 + 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] + - location: 7 (just consumed gas: 0.010) + [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 + 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f ] + - location: 8 (just consumed gas: 0.010) + [ 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f + 22620284817922784902564672469917992996328211127984472897491698543785655336309 ] + - location: 9 (just consumed gas: 0.299) + [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage698210250--input949526473-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage698210250--input949526473-.out new file mode 100644 index 000000000000..9d7220bf58ed --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage698210250--input949526473-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f and input 33644916630334844239120348434626468649534186770809802792596996408934105684394 --level 1 --trace-stack +storage + 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 + 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] + - location: 7 (just consumed gas: 0.010) + [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 + 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f ] + - location: 8 (just consumed gas: 0.010) + [ 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f + 33644916630334844239120348434626468649534186770809802792596996408934105684394 ] + - location: 9 (just consumed gas: 0.299) + [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage739946440--input166435292-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage739946440--input166435292-.out new file mode 100644 index 000000000000..46535bf305c4 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage739946440--input166435292-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d and input 69615968247920749285624776342583898043608129789011377475114141186797415307882 --level 1 --trace-stack +storage + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] + - location: 7 (just consumed gas: 0.010) + [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] + - location: 8 (just consumed gas: 0.010) + [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d + 69615968247920749285624776342583898043608129789011377475114141186797415307882 ] + - location: 9 (just consumed gas: 0.299) + [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage739946440--input583291483-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage739946440--input583291483-.out new file mode 100644 index 000000000000..f12d99f42a73 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage739946440--input583291483-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d and input 17180093072794558806177035834397932205917577288483739652510482486858834123369 --level 1 --trace-stack +storage + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] + - location: 7 (just consumed gas: 0.010) + [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] + - location: 8 (just consumed gas: 0.010) + [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d + 17180093072794558806177035834397932205917577288483739652510482486858834123369 ] + - location: 9 (just consumed gas: 0.299) + [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input1055524890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input1055524890-.out new file mode 100644 index 000000000000..8bba9b81d876 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input1055524890-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 52435875175126190479447740508185965837690552500527637822603658699938581184514 --level 1 --trace-stack +storage + 0x0100000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 + 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 52435875175126190479447740508185965837690552500527637822603658699938581184514 ] + - location: 9 (just consumed gas: 0.299) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input453441034-.out new file mode 100644 index 000000000000..d808ff14cffe --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input453441034-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 1 --level 1 --trace-stack +storage + 0x0100000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 1 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 1 ] + - location: 9 (just consumed gas: 0.266) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input564400327-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input564400327-.out new file mode 100644 index 000000000000..d9585f5f09e0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input564400327-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 2 --level 1 --trace-stack +storage + 0x0200000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 2 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 2 ] + - location: 9 (just consumed gas: 0.266) + [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x0200000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input585234482-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input585234482-.out new file mode 100644 index 000000000000..abdc09dbd023 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input585234482-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input -42 --level 1 --trace-stack +storage + 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair -42 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ -42 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + -42 ] + - location: 9 (just consumed gas: 0.266) + [ 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0xd7fffffffefffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input680650890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input680650890-.out new file mode 100644 index 000000000000..7724f2fbba43 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input680650890-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 0 --level 1 --trace-stack +storage + 0x0000000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 0 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 0 ] + - location: 9 (just consumed gas: 0.265) + [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input701858804-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input701858804-.out new file mode 100644 index 000000000000..5bb69266905f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_int--storage994282947--input701858804-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input -1 --level 1 --trace-stack +storage + 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair -1 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ -1 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + -1 ] + - location: 9 (just consumed gas: 0.266) + [ 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage287336412--input1019409032-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage287336412--input1019409032-.out new file mode 100644 index 000000000000..0362a46a4501 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage287336412--input1019409032-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz on storage 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f and input 22620284817922784902564672469917992996328211127984472897491698543785655336309 --level 1 --trace-stack +storage + 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 22620284817922784902564672469917992996328211127984472897491698543785655336309 + 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f) ] + - location: 7 (just consumed gas: 0.010) + [ 22620284817922784902564672469917992996328211127984472897491698543785655336309 + 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f ] + - location: 8 (just consumed gas: 0.010) + [ 0x4147a5ad0a633e4880d2296f08ec5c12d03e3fa4a6b49ecbd16a30a3cfcdbe3f + 22620284817922784902564672469917992996328211127984472897491698543785655336309 ] + - location: 9 (just consumed gas: 0.299) + [ 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x4e387e0ebfb3d1633153c195036e0c0b672955c4a0e420f93ec20a76fe677c62) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage698210250--input949526473-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage698210250--input949526473-.out new file mode 100644 index 000000000000..9efb9f623062 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage698210250--input949526473-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz on storage 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f and input 33644916630334844239120348434626468649534186770809802792596996408934105684394 --level 1 --trace-stack +storage + 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 33644916630334844239120348434626468649534186770809802792596996408934105684394 + 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f) ] + - location: 7 (just consumed gas: 0.010) + [ 33644916630334844239120348434626468649534186770809802792596996408934105684394 + 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f ] + - location: 8 (just consumed gas: 0.010) + [ 0x5b0ecd0fa853810e356f1eb79721e80b30510fcc3a455f4fc02fdd9a90c5401f + 33644916630334844239120348434626468649534186770809802792596996408934105684394 ] + - location: 9 (just consumed gas: 0.299) + [ 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x2ef123703093cbbbd124e15f2054fa5781ed0b8d092ec3c6e5d76b4ca918a221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage739946440--input166435292-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage739946440--input166435292-.out new file mode 100644 index 000000000000..bb5110aa0457 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage739946440--input166435292-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz on storage 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d and input 69615968247920749285624776342583898043608129789011377475114141186797415307882 --level 1 --trace-stack +storage + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 69615968247920749285624776342583898043608129789011377475114141186797415307882 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] + - location: 7 (just consumed gas: 0.010) + [ 69615968247920749285624776342583898043608129789011377475114141186797415307882 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] + - location: 8 (just consumed gas: 0.010) + [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d + 69615968247920749285624776342583898043608129789011377475114141186797415307882 ] + - location: 9 (just consumed gas: 0.299) + [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage739946440--input583291483-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage739946440--input583291483-.out new file mode 100644 index 000000000000..05f16daee636 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage739946440--input583291483-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz on storage 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d and input 17180093072794558806177035834397932205917577288483739652510482486858834123369 --level 1 --trace-stack +storage + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 17180093072794558806177035834397932205917577288483739652510482486858834123369 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d) ] + - location: 7 (just consumed gas: 0.010) + [ 17180093072794558806177035834397932205917577288483739652510482486858834123369 + 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d ] + - location: 8 (just consumed gas: 0.010) + [ 0x8578be1766f92cd82c5e5135c374a03a8562e263ea953a3f9711b0153b7fcf2d + 17180093072794558806177035834397932205917577288483739652510482486858834123369 ] + - location: 9 (just consumed gas: 0.299) + [ 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0xfaa60dacea8e26112e524d379720fe4f95fbc5a26f1b1a67e229e26ddecbf221) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input1055524890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input1055524890-.out new file mode 100644 index 000000000000..93ae76ca1026 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input1055524890-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 52435875175126190479447740508185965837690552500527637822603658699938581184514 --level 1 --trace-stack +storage + 0x0100000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 52435875175126190479447740508185965837690552500527637822603658699938581184514 + 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 52435875175126190479447740508185965837690552500527637822603658699938581184514 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 52435875175126190479447740508185965837690552500527637822603658699938581184514 ] + - location: 9 (just consumed gas: 0.299) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input453441034-.out new file mode 100644 index 000000000000..0f5e3095095b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input453441034-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 1 --level 1 --trace-stack +storage + 0x0100000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 1 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 1 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 1 ] + - location: 9 (just consumed gas: 0.266) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x0100000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input564400327-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input564400327-.out new file mode 100644 index 000000000000..e2dfcaf66eab --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input564400327-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 2 --level 1 --trace-stack +storage + 0x0200000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 2 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 2 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 2 ] + - location: 9 (just consumed gas: 0.266) + [ 0x0200000000000000000000000000000000000000000000000000000000000000 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x0200000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x0200000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input680650890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input680650890-.out new file mode 100644 index 000000000000..201456cdd91f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bls12_381_z_fr_nat--storage994282947--input680650890-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz on storage 0x0100000000000000000000000000000000000000000000000000000000000000 and input 0 --level 1 --trace-stack +storage + 0x0000000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.940) + [ (Pair 0 0x0100000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 0 + 0x0100000000000000000000000000000000000000000000000000000000000000 ] + - location: 8 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 0 ] + - location: 9 (just consumed gas: 0.265) + [ 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x0000000000000000000000000000000000000000000000000000000000000000 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x0000000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bytes_of_int--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bytes_of_int--storage125992234--input125992234-.out new file mode 100644 index 000000000000..f32928517f50 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bytes_of_int--storage125992234--input125992234-.out @@ -0,0 +1,261 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bytes_of_int_016.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 118.175) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 0 ] + - location: 11 (just consumed gas: 0.090) + [ 0x ] + - location: 12 (just consumed gas: 0.010) + [ 0x + 0x ] + - location: 17 (just consumed gas: 0.035) + [ 0 ] + - location: 18 (just consumed gas: 0.010) + [ True ] + - location: 19 (just consumed gas: 0) + [ ] + - location: 19 (just consumed gas: 0.015) + [ ] + - location: 25 (just consumed gas: 0.010) + [ 1 ] + - location: 28 (just consumed gas: 0.093) + [ 0x01 ] + - location: 29 (just consumed gas: 0.010) + [ 0x01 + 0x01 ] + - location: 34 (just consumed gas: 0.035) + [ 0 ] + - location: 35 (just consumed gas: 0.010) + [ True ] + - location: 36 (just consumed gas: 0) + [ ] + - location: 36 (just consumed gas: 0.015) + [ ] + - location: 42 (just consumed gas: 0.010) + [ 1193046 ] + - location: 45 (just consumed gas: 0.099) + [ 0x123456 ] + - location: 46 (just consumed gas: 0.010) + [ 0x123456 + 0x123456 ] + - location: 51 (just consumed gas: 0.035) + [ 0 ] + - location: 52 (just consumed gas: 0.010) + [ True ] + - location: 53 (just consumed gas: 0) + [ ] + - location: 53 (just consumed gas: 0.015) + [ ] + - location: 59 (just consumed gas: 0.010) + [ 0x123456 ] + - location: 62 (just consumed gas: 0.027) + [ 1193046 ] + - location: 63 (just consumed gas: 0.010) + [ 1193046 + 1193046 ] + - location: 68 (just consumed gas: 0.035) + [ 0 ] + - location: 69 (just consumed gas: 0.010) + [ True ] + - location: 70 (just consumed gas: 0) + [ ] + - location: 70 (just consumed gas: 0.015) + [ ] + - location: 76 (just consumed gas: 0.010) + [ 0x0000123456 ] + - location: 79 (just consumed gas: 0.032) + [ 1193046 ] + - location: 80 (just consumed gas: 0.010) + [ 1193046 + 1193046 ] + - location: 85 (just consumed gas: 0.035) + [ 0 ] + - location: 86 (just consumed gas: 0.010) + [ True ] + - location: 87 (just consumed gas: 0) + [ ] + - location: 87 (just consumed gas: 0.015) + [ ] + - location: 93 (just consumed gas: 0.010) + [ 0x ] + - location: 96 (just consumed gas: 0.020) + [ 0 ] + - location: 97 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 102 (just consumed gas: 0.035) + [ 0 ] + - location: 103 (just consumed gas: 0.010) + [ True ] + - location: 104 (just consumed gas: 0) + [ ] + - location: 104 (just consumed gas: 0.015) + [ ] + - location: 110 (just consumed gas: 0.010) + [ 0x0000 ] + - location: 113 (just consumed gas: 0.025) + [ 0 ] + - location: 114 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 119 (just consumed gas: 0.035) + [ 0 ] + - location: 120 (just consumed gas: 0.010) + [ True ] + - location: 121 (just consumed gas: 0) + [ ] + - location: 121 (just consumed gas: 0.015) + [ ] + - location: 127 (just consumed gas: 0.010) + [ -128 ] + - location: 130 (just consumed gas: 0.093) + [ 0x80 ] + - location: 131 (just consumed gas: 0.010) + [ 0x80 + 0x80 ] + - location: 136 (just consumed gas: 0.035) + [ 0 ] + - location: 137 (just consumed gas: 0.010) + [ True ] + - location: 138 (just consumed gas: 0) + [ ] + - location: 138 (just consumed gas: 0.015) + [ ] + - location: 144 (just consumed gas: 0.010) + [ -129 ] + - location: 147 (just consumed gas: 0.093) + [ 0xff7f ] + - location: 148 (just consumed gas: 0.010) + [ 0xff7f + 0xff7f ] + - location: 153 (just consumed gas: 0.035) + [ 0 ] + - location: 154 (just consumed gas: 0.010) + [ True ] + - location: 155 (just consumed gas: 0) + [ ] + - location: 155 (just consumed gas: 0.015) + [ ] + - location: 161 (just consumed gas: 0.010) + [ -33024 ] + - location: 164 (just consumed gas: 0.096) + [ 0xff7f00 ] + - location: 165 (just consumed gas: 0.010) + [ 0xff7f00 + 0xff7f00 ] + - location: 170 (just consumed gas: 0.035) + [ 0 ] + - location: 171 (just consumed gas: 0.010) + [ True ] + - location: 172 (just consumed gas: 0) + [ ] + - location: 172 (just consumed gas: 0.015) + [ ] + - location: 178 (just consumed gas: 0.010) + [ -4294967296 ] + - location: 181 (just consumed gas: 0.105) + [ 0xff00000000 ] + - location: 182 (just consumed gas: 0.010) + [ 0xff00000000 + 0xff00000000 ] + - location: 187 (just consumed gas: 0.035) + [ 0 ] + - location: 188 (just consumed gas: 0.010) + [ True ] + - location: 189 (just consumed gas: 0) + [ ] + - location: 189 (just consumed gas: 0.015) + [ ] + - location: 195 (just consumed gas: 0.010) + [ 0x80 ] + - location: 198 (just consumed gas: 0.022) + [ -128 ] + - location: 199 (just consumed gas: 0.010) + [ -128 + -128 ] + - location: 204 (just consumed gas: 0.035) + [ 0 ] + - location: 205 (just consumed gas: 0.010) + [ True ] + - location: 206 (just consumed gas: 0) + [ ] + - location: 206 (just consumed gas: 0.015) + [ ] + - location: 212 (just consumed gas: 0.010) + [ 0xff7f ] + - location: 215 (just consumed gas: 0.025) + [ -129 ] + - location: 216 (just consumed gas: 0.010) + [ -129 + -129 ] + - location: 221 (just consumed gas: 0.035) + [ 0 ] + - location: 222 (just consumed gas: 0.010) + [ True ] + - location: 223 (just consumed gas: 0) + [ ] + - location: 223 (just consumed gas: 0.015) + [ ] + - location: 229 (just consumed gas: 0.010) + [ 0xff7f00 ] + - location: 232 (just consumed gas: 0.027) + [ -33024 ] + - location: 233 (just consumed gas: 0.010) + [ -33024 + -33024 ] + - location: 238 (just consumed gas: 0.035) + [ 0 ] + - location: 239 (just consumed gas: 0.010) + [ True ] + - location: 240 (just consumed gas: 0) + [ ] + - location: 240 (just consumed gas: 0.015) + [ ] + - location: 246 (just consumed gas: 0.010) + [ 0xffffff7f00 ] + - location: 249 (just consumed gas: 0.032) + [ -33024 ] + - location: 250 (just consumed gas: 0.010) + [ -33024 + -33024 ] + - location: 255 (just consumed gas: 0.035) + [ 0 ] + - location: 256 (just consumed gas: 0.010) + [ True ] + - location: 257 (just consumed gas: 0) + [ ] + - location: 257 (just consumed gas: 0.015) + [ ] + - location: 263 (just consumed gas: 0.010) + [ 0xff00000000 ] + - location: 266 (just consumed gas: 0.032) + [ -4294967296 ] + - location: 267 (just consumed gas: 0.010) + [ -4294967296 + -4294967296 ] + - location: 272 (just consumed gas: 0.035) + [ 0 ] + - location: 273 (just consumed gas: 0.010) + [ True ] + - location: 274 (just consumed gas: 0) + [ ] + - location: 274 (just consumed gas: 0.015) + [ ] + - location: 280 (just consumed gas: 0.010) + [ Unit ] + - location: 281 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 283 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bytes_of_nat--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bytes_of_nat--storage125992234--input125992234-.out new file mode 100644 index 000000000000..ddcc56b48a79 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -bytes_of_nat--storage125992234--input125992234-.out @@ -0,0 +1,126 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/bytes_of_nat_016.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 53.702) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 0 ] + - location: 11 (just consumed gas: 0.075) + [ 0x ] + - location: 12 (just consumed gas: 0.010) + [ 0x + 0x ] + - location: 17 (just consumed gas: 0.035) + [ 0 ] + - location: 18 (just consumed gas: 0.010) + [ True ] + - location: 19 (just consumed gas: 0) + [ ] + - location: 19 (just consumed gas: 0.015) + [ ] + - location: 25 (just consumed gas: 0.010) + [ 1 ] + - location: 28 (just consumed gas: 0.078) + [ 0x01 ] + - location: 29 (just consumed gas: 0.010) + [ 0x01 + 0x01 ] + - location: 34 (just consumed gas: 0.035) + [ 0 ] + - location: 35 (just consumed gas: 0.010) + [ True ] + - location: 36 (just consumed gas: 0) + [ ] + - location: 36 (just consumed gas: 0.015) + [ ] + - location: 42 (just consumed gas: 0.010) + [ 1193046 ] + - location: 45 (just consumed gas: 0.084) + [ 0x123456 ] + - location: 46 (just consumed gas: 0.010) + [ 0x123456 + 0x123456 ] + - location: 51 (just consumed gas: 0.035) + [ 0 ] + - location: 52 (just consumed gas: 0.010) + [ True ] + - location: 53 (just consumed gas: 0) + [ ] + - location: 53 (just consumed gas: 0.015) + [ ] + - location: 59 (just consumed gas: 0.010) + [ 0x123456 ] + - location: 62 (just consumed gas: 0.052) + [ 1193046 ] + - location: 63 (just consumed gas: 0.010) + [ 1193046 + 1193046 ] + - location: 68 (just consumed gas: 0.035) + [ 0 ] + - location: 69 (just consumed gas: 0.010) + [ True ] + - location: 70 (just consumed gas: 0) + [ ] + - location: 70 (just consumed gas: 0.015) + [ ] + - location: 76 (just consumed gas: 0.010) + [ 0x0000123456 ] + - location: 79 (just consumed gas: 0.057) + [ 1193046 ] + - location: 80 (just consumed gas: 0.010) + [ 1193046 + 1193046 ] + - location: 85 (just consumed gas: 0.035) + [ 0 ] + - location: 86 (just consumed gas: 0.010) + [ True ] + - location: 87 (just consumed gas: 0) + [ ] + - location: 87 (just consumed gas: 0.015) + [ ] + - location: 93 (just consumed gas: 0.010) + [ 0x ] + - location: 96 (just consumed gas: 0.045) + [ 0 ] + - location: 97 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 102 (just consumed gas: 0.035) + [ 0 ] + - location: 103 (just consumed gas: 0.010) + [ True ] + - location: 104 (just consumed gas: 0) + [ ] + - location: 104 (just consumed gas: 0.015) + [ ] + - location: 110 (just consumed gas: 0.010) + [ 0x0000 ] + - location: 113 (just consumed gas: 0.050) + [ 0 ] + - location: 114 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 119 (just consumed gas: 0.035) + [ 0 ] + - location: 120 (just consumed gas: 0.010) + [ True ] + - location: 121 (just consumed gas: 0) + [ ] + - location: 121 (just consumed gas: 0.015) + [ ] + - location: 127 (just consumed gas: 0.010) + [ Unit ] + - location: 128 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 130 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -car--storage680650890--input783124233-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -car--storage680650890--input783124233-.out new file mode 100644 index 000000000000..939b6b2abb6d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -car--storage680650890--input783124233-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/car.tz on storage 0 and input '(Pair 34 17)' --level 1 --trace-stack +storage + 34 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.723) + [ (Pair (Pair 34 17) 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair 34 17) ] + - location: 10 (just consumed gas: 0.010) + [ 34 ] + - location: 11 (just consumed gas: 0.010) + [ {} + 34 ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} 34) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cdr--storage680650890--input783124233-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cdr--storage680650890--input783124233-.out new file mode 100644 index 000000000000..74b7f4518647 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cdr--storage680650890--input783124233-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/cdr.tz on storage 0 and input '(Pair 34 17)' --level 1 --trace-stack +storage + 17 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.723) + [ (Pair (Pair 34 17) 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair 34 17) ] + - location: 10 (just consumed gas: 0.010) + [ 17 ] + - location: 11 (just consumed gas: 0.010) + [ {} + 17 ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} 17) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage109160754--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage109160754--input125992234-.out new file mode 100644 index 000000000000..0b8f099cc679 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage109160754--input125992234-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/chain_id_store.tz on storage '(Some 0x7a06a770)' and input Unit --level 1 --trace-stack +storage + (Some "NetXynUjJNZm7wi") +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.203) + [ (Pair Unit (Some "NetXdQprcVkpaWU")) ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.015) + [ "NetXynUjJNZm7wi" ] + - location: 10 (just consumed gas: 0.010) + [ (Some "NetXynUjJNZm7wi") ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some "NetXynUjJNZm7wi") ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some "NetXynUjJNZm7wi")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage921624073--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage921624073--input125992234-.out new file mode 100644 index 000000000000..94f0f2a4f313 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage921624073--input125992234-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/chain_id_store.tz on storage None and input Unit --level 1 --trace-stack +storage + (Some "NetXynUjJNZm7wi") +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.053) + [ (Pair Unit None) ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.015) + [ "NetXynUjJNZm7wi" ] + - location: 10 (just consumed gas: 0.010) + [ (Some "NetXynUjJNZm7wi") ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some "NetXynUjJNZm7wi") ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some "NetXynUjJNZm7wi")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage981066851--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage981066851--input125992234-.out new file mode 100644 index 000000000000..6787404c6db7 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -chain_id_store--storage981066851--input125992234-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/chain_id_store.tz on storage '(Some "NetXynUjJNZm7wi")' and input Unit --level 1 --trace-stack +storage + (Some "NetXynUjJNZm7wi") +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 6.753) + [ (Pair Unit (Some "NetXynUjJNZm7wi")) ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.015) + [ "NetXynUjJNZm7wi" ] + - location: 10 (just consumed gas: 0.010) + [ (Some "NetXynUjJNZm7wi") ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some "NetXynUjJNZm7wi") ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some "NetXynUjJNZm7wi")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb--storage950292965--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb--storage950292965--input125992234-.out new file mode 100644 index 000000000000..da4d40d71ab9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb--storage950292965--input125992234-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/comb.tz on storage '(Pair 0 0 0)' and input Unit --level 1 --trace-stack +storage + (Pair 1 2 3) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.221) + [ (Pair Unit 0 0 0) ] + - location: 10 (just consumed gas: 0.010) + [ ] + - location: 11 (just consumed gas: 0.010) + [ 3 ] + - location: 14 (just consumed gas: 0.010) + [ 2 + 3 ] + - location: 17 (just consumed gas: 0.010) + [ 1 + 2 + 3 ] + - location: 20 (just consumed gas: 0.010) + [ {} + 1 + 2 + 3 ] + - location: 22 (just consumed gas: 0.014) + [ (Pair {} 1 2 3) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-get--storage125992234--input186507116-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-get--storage125992234--input186507116-.out new file mode 100644 index 000000000000..ce69ab08e68c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-get--storage125992234--input186507116-.out @@ -0,0 +1,123 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/comb-get.tz on storage Unit and input '(Pair 1 4 2 Unit)' --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 43.348) + [ (Pair (Pair 1 4 2 Unit) Unit) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair 1 4 2 Unit) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair 1 4 2 Unit) + (Pair 1 4 2 Unit) ] + - location: 13 (just consumed gas: 0.010) + [ 1 + (Pair 1 4 2 Unit) ] + - location: 14 (just consumed gas: 0.010) + [ 1 + 1 + (Pair 1 4 2 Unit) ] + - location: 19 (just consumed gas: 0.035) + [ 0 + (Pair 1 4 2 Unit) ] + - location: 20 (just consumed gas: 0.010) + [ True + (Pair 1 4 2 Unit) ] + - location: 21 (just consumed gas: 0) + [ (Pair 1 4 2 Unit) ] + - location: 21 (just consumed gas: 0.015) + [ (Pair 1 4 2 Unit) ] + - location: 27 (just consumed gas: 0.010) + [ (Pair 1 4 2 Unit) + (Pair 1 4 2 Unit) ] + - location: 28 (just consumed gas: 0.020) + [ 1 + (Pair 1 4 2 Unit) ] + - location: 30 (just consumed gas: 0.010) + [ 1 + 1 + (Pair 1 4 2 Unit) ] + - location: 35 (just consumed gas: 0.035) + [ 0 + (Pair 1 4 2 Unit) ] + - location: 36 (just consumed gas: 0.010) + [ True + (Pair 1 4 2 Unit) ] + - location: 37 (just consumed gas: 0) + [ (Pair 1 4 2 Unit) ] + - location: 37 (just consumed gas: 0.015) + [ (Pair 1 4 2 Unit) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair 1 4 2 Unit) + (Pair 1 4 2 Unit) ] + - location: 44 (just consumed gas: 0.021) + [ 4 + (Pair 1 4 2 Unit) ] + - location: 46 (just consumed gas: 0.010) + [ 4 + 4 + (Pair 1 4 2 Unit) ] + - location: 51 (just consumed gas: 0.035) + [ 0 + (Pair 1 4 2 Unit) ] + - location: 52 (just consumed gas: 0.010) + [ True + (Pair 1 4 2 Unit) ] + - location: 53 (just consumed gas: 0) + [ (Pair 1 4 2 Unit) ] + - location: 53 (just consumed gas: 0.015) + [ (Pair 1 4 2 Unit) ] + - location: 59 (just consumed gas: 0.010) + [ (Pair 1 4 2 Unit) + (Pair 1 4 2 Unit) ] + - location: 60 (just consumed gas: 0.022) + [ 2 + (Pair 1 4 2 Unit) ] + - location: 62 (just consumed gas: 0.010) + [ 2 + 2 + (Pair 1 4 2 Unit) ] + - location: 67 (just consumed gas: 0.035) + [ 0 + (Pair 1 4 2 Unit) ] + - location: 68 (just consumed gas: 0.010) + [ True + (Pair 1 4 2 Unit) ] + - location: 69 (just consumed gas: 0) + [ (Pair 1 4 2 Unit) ] + - location: 69 (just consumed gas: 0.015) + [ (Pair 1 4 2 Unit) ] + - location: 75 (just consumed gas: 0.010) + [ (Pair 1 4 2 Unit) + (Pair 1 4 2 Unit) ] + - location: 76 (just consumed gas: 0.023) + [ Unit + (Pair 1 4 2 Unit) ] + - location: 78 (just consumed gas: 0.010) + [ Unit + Unit + (Pair 1 4 2 Unit) ] + - location: 81 (just consumed gas: 0.010) + [ 0 + (Pair 1 4 2 Unit) ] + - location: 82 (just consumed gas: 0.010) + [ True + (Pair 1 4 2 Unit) ] + - location: 83 (just consumed gas: 0) + [ (Pair 1 4 2 Unit) ] + - location: 83 (just consumed gas: 0.015) + [ (Pair 1 4 2 Unit) ] + - location: 89 (just consumed gas: 0.010) + [ ] + - location: 90 (just consumed gas: 0.010) + [ Unit ] + - location: 91 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 93 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-set--storage186507116--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-set--storage186507116--input125992234-.out new file mode 100644 index 000000000000..9374edbc8ff9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-set--storage186507116--input125992234-.out @@ -0,0 +1,39 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/comb-set.tz on storage '(Pair 1 4 2 Unit)' and input Unit --level 1 --trace-stack +storage + (Pair 2 12 8 Unit) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 12.667) + [ (Pair Unit 1 4 2 Unit) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair 1 4 2 Unit) ] + - location: 12 (just consumed gas: 0.010) + [ 2 + (Pair 1 4 2 Unit) ] + - location: 15 (just consumed gas: 0.021) + [ (Pair 2 4 2 Unit) ] + - location: 17 (just consumed gas: 0.010) + [ 12 + (Pair 2 4 2 Unit) ] + - location: 20 (just consumed gas: 0.023) + [ (Pair 2 12 2 Unit) ] + - location: 22 (just consumed gas: 0.010) + [ 8 + (Pair 2 12 2 Unit) ] + - location: 25 (just consumed gas: 0.026) + [ (Pair 2 12 8 Unit) ] + - location: 27 (just consumed gas: 0.010) + [ Unit + (Pair 2 12 8 Unit) ] + - location: 28 (just consumed gas: 0.027) + [ (Pair 2 12 8 Unit) ] + - location: 30 (just consumed gas: 0.010) + [ {} + (Pair 2 12 8 Unit) ] + - location: 32 (just consumed gas: 0.010) + [ (Pair {} 2 12 8 Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-set-2--storage921624073--input186507116-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-set-2--storage921624073--input186507116-.out new file mode 100644 index 000000000000..ed3221ee9010 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comb-set-2--storage921624073--input186507116-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/comb-set-2.tz on storage None and input '(Pair 1 4 2 Unit)' --level 1 --trace-stack +storage + (Some (Pair 2 4 "toto" 0x01)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 12.844) + [ (Pair (Pair 1 4 2 Unit) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair 1 4 2 Unit) ] + - location: 17 (just consumed gas: 0.010) + [ 2 + (Pair 1 4 2 Unit) ] + - location: 20 (just consumed gas: 0.021) + [ (Pair 2 4 2 Unit) ] + - location: 22 (just consumed gas: 0.010) + [ "toto" + (Pair 2 4 2 Unit) ] + - location: 25 (just consumed gas: 0.026) + [ (Pair 2 4 "toto" Unit) ] + - location: 27 (just consumed gas: 0.010) + [ 0x01 + (Pair 2 4 "toto" Unit) ] + - location: 30 (just consumed gas: 0.027) + [ (Pair 2 4 "toto" 0x01) ] + - location: 32 (just consumed gas: 0.010) + [ (Some (Pair 2 4 "toto" 0x01)) ] + - location: 33 (just consumed gas: 0.010) + [ {} + (Some (Pair 2 4 "toto" 0x01)) ] + - location: 35 (just consumed gas: 0.010) + [ (Pair {} (Some (Pair 2 4 "toto" 0x01))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -compare--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -compare--storage125992234--input125992234-.out new file mode 100644 index 000000000000..172f4bda3b8c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -compare--storage125992234--input125992234-.out @@ -0,0 +1,398 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/compare.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 200.472) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ True ] + - location: 11 (just consumed gas: 0.010) + [ True + True ] + - location: 12 (just consumed gas: 0.035) + [ 0 ] + - location: 14 (just consumed gas: 0.010) + [ True ] + - location: 15 (just consumed gas: 0) + [ ] + - location: 15 (just consumed gas: 0.015) + [ ] + - location: 21 (just consumed gas: 0.010) + [ False ] + - location: 24 (just consumed gas: 0.010) + [ False + False ] + - location: 25 (just consumed gas: 0.035) + [ 0 ] + - location: 27 (just consumed gas: 0.010) + [ True ] + - location: 28 (just consumed gas: 0) + [ ] + - location: 28 (just consumed gas: 0.015) + [ ] + - location: 34 (just consumed gas: 0.010) + [ False ] + - location: 37 (just consumed gas: 0.010) + [ True + False ] + - location: 40 (just consumed gas: 0.035) + [ 1 ] + - location: 42 (just consumed gas: 0.010) + [ True ] + - location: 43 (just consumed gas: 0) + [ ] + - location: 43 (just consumed gas: 0.015) + [ ] + - location: 49 (just consumed gas: 0.010) + [ True ] + - location: 52 (just consumed gas: 0.010) + [ False + True ] + - location: 55 (just consumed gas: 0.035) + [ -1 ] + - location: 57 (just consumed gas: 0.010) + [ True ] + - location: 58 (just consumed gas: 0) + [ ] + - location: 58 (just consumed gas: 0.015) + [ ] + - location: 64 (just consumed gas: 0.010) + [ 0xaabbcc ] + - location: 67 (just consumed gas: 0.010) + [ 0xaabbcc + 0xaabbcc ] + - location: 68 (just consumed gas: 0.035) + [ 0 ] + - location: 70 (just consumed gas: 0.010) + [ True ] + - location: 71 (just consumed gas: 0) + [ ] + - location: 71 (just consumed gas: 0.015) + [ ] + - location: 77 (just consumed gas: 0.010) + [ 0x ] + - location: 80 (just consumed gas: 0.010) + [ 0x + 0x ] + - location: 83 (just consumed gas: 0.035) + [ 0 ] + - location: 85 (just consumed gas: 0.010) + [ True ] + - location: 86 (just consumed gas: 0) + [ ] + - location: 86 (just consumed gas: 0.015) + [ ] + - location: 92 (just consumed gas: 0.010) + [ 0x ] + - location: 95 (just consumed gas: 0.010) + [ 0x01 + 0x ] + - location: 98 (just consumed gas: 0.035) + [ 1 ] + - location: 100 (just consumed gas: 0.010) + [ True ] + - location: 101 (just consumed gas: 0) + [ ] + - location: 101 (just consumed gas: 0.015) + [ ] + - location: 107 (just consumed gas: 0.010) + [ 0x01 ] + - location: 110 (just consumed gas: 0.010) + [ 0x02 + 0x01 ] + - location: 113 (just consumed gas: 0.035) + [ 1 ] + - location: 115 (just consumed gas: 0.010) + [ True ] + - location: 116 (just consumed gas: 0) + [ ] + - location: 116 (just consumed gas: 0.015) + [ ] + - location: 122 (just consumed gas: 0.010) + [ 0x02 ] + - location: 125 (just consumed gas: 0.010) + [ 0x01 + 0x02 ] + - location: 128 (just consumed gas: 0.035) + [ -1 ] + - location: 130 (just consumed gas: 0.010) + [ True ] + - location: 131 (just consumed gas: 0) + [ ] + - location: 131 (just consumed gas: 0.015) + [ ] + - location: 137 (just consumed gas: 0.010) + [ 1 ] + - location: 140 (just consumed gas: 0.010) + [ 1 + 1 ] + - location: 141 (just consumed gas: 0.035) + [ 0 ] + - location: 143 (just consumed gas: 0.010) + [ True ] + - location: 144 (just consumed gas: 0) + [ ] + - location: 144 (just consumed gas: 0.015) + [ ] + - location: 150 (just consumed gas: 0.010) + [ 10 ] + - location: 153 (just consumed gas: 0.010) + [ 5 + 10 ] + - location: 156 (just consumed gas: 0.035) + [ -1 ] + - location: 158 (just consumed gas: 0.010) + [ True ] + - location: 159 (just consumed gas: 0) + [ ] + - location: 159 (just consumed gas: 0.015) + [ ] + - location: 165 (just consumed gas: 0.010) + [ -4 ] + - location: 168 (just consumed gas: 0.010) + [ 1923 + -4 ] + - location: 171 (just consumed gas: 0.035) + [ 1 ] + - location: 173 (just consumed gas: 0.010) + [ True ] + - location: 174 (just consumed gas: 0) + [ ] + - location: 174 (just consumed gas: 0.015) + [ ] + - location: 180 (just consumed gas: 0.010) + [ 1 ] + - location: 183 (just consumed gas: 0.010) + [ 1 + 1 ] + - location: 184 (just consumed gas: 0.035) + [ 0 ] + - location: 186 (just consumed gas: 0.010) + [ True ] + - location: 187 (just consumed gas: 0) + [ ] + - location: 187 (just consumed gas: 0.015) + [ ] + - location: 193 (just consumed gas: 0.010) + [ 10 ] + - location: 196 (just consumed gas: 0.010) + [ 5 + 10 ] + - location: 199 (just consumed gas: 0.035) + [ -1 ] + - location: 201 (just consumed gas: 0.010) + [ True ] + - location: 202 (just consumed gas: 0) + [ ] + - location: 202 (just consumed gas: 0.015) + [ ] + - location: 208 (just consumed gas: 0.010) + [ 4 ] + - location: 211 (just consumed gas: 0.010) + [ 1923 + 4 ] + - location: 214 (just consumed gas: 0.035) + [ 1 ] + - location: 216 (just consumed gas: 0.010) + [ True ] + - location: 217 (just consumed gas: 0) + [ ] + - location: 217 (just consumed gas: 0.015) + [ ] + - location: 223 (just consumed gas: 0.010) + [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] + - location: 226 (just consumed gas: 0.010) + [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] + - location: 227 (just consumed gas: 0.036) + [ 0 ] + - location: 229 (just consumed gas: 0.010) + [ True ] + - location: 230 (just consumed gas: 0) + [ ] + - location: 230 (just consumed gas: 0.015) + [ ] + - location: 236 (just consumed gas: 0.010) + [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] + - location: 239 (just consumed gas: 0.010) + [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ] + - location: 242 (just consumed gas: 0.036) + [ -1 ] + - location: 244 (just consumed gas: 0.010) + [ True ] + - location: 245 (just consumed gas: 0) + [ ] + - location: 245 (just consumed gas: 0.015) + [ ] + - location: 251 (just consumed gas: 0.010) + [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] + - location: 254 (just consumed gas: 0.010) + [ "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" + "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] + - location: 257 (just consumed gas: 0.036) + [ 1 ] + - location: 259 (just consumed gas: 0.010) + [ True ] + - location: 260 (just consumed gas: 0) + [ ] + - location: 260 (just consumed gas: 0.015) + [ ] + - location: 266 (just consumed gas: 0.010) + [ 1 ] + - location: 269 (just consumed gas: 0.010) + [ 1 + 1 ] + - location: 270 (just consumed gas: 0.035) + [ 0 ] + - location: 272 (just consumed gas: 0.010) + [ True ] + - location: 273 (just consumed gas: 0) + [ ] + - location: 273 (just consumed gas: 0.015) + [ ] + - location: 279 (just consumed gas: 0.010) + [ 10 ] + - location: 282 (just consumed gas: 0.010) + [ 5 + 10 ] + - location: 285 (just consumed gas: 0.035) + [ -1 ] + - location: 287 (just consumed gas: 0.010) + [ True ] + - location: 288 (just consumed gas: 0) + [ ] + - location: 288 (just consumed gas: 0.015) + [ ] + - location: 294 (just consumed gas: 0.010) + [ 4 ] + - location: 297 (just consumed gas: 0.010) + [ 1923 + 4 ] + - location: 300 (just consumed gas: 0.035) + [ 1 ] + - location: 302 (just consumed gas: 0.010) + [ True ] + - location: 303 (just consumed gas: 0) + [ ] + - location: 303 (just consumed gas: 0.015) + [ ] + - location: 309 (just consumed gas: 0.010) + [ "AABBCC" ] + - location: 312 (just consumed gas: 0.010) + [ "AABBCC" + "AABBCC" ] + - location: 313 (just consumed gas: 0.035) + [ 0 ] + - location: 315 (just consumed gas: 0.010) + [ True ] + - location: 316 (just consumed gas: 0) + [ ] + - location: 316 (just consumed gas: 0.015) + [ ] + - location: 322 (just consumed gas: 0.010) + [ "" ] + - location: 325 (just consumed gas: 0.010) + [ "" + "" ] + - location: 328 (just consumed gas: 0.035) + [ 0 ] + - location: 330 (just consumed gas: 0.010) + [ True ] + - location: 331 (just consumed gas: 0) + [ ] + - location: 331 (just consumed gas: 0.015) + [ ] + - location: 337 (just consumed gas: 0.010) + [ "" ] + - location: 340 (just consumed gas: 0.010) + [ "a" + "" ] + - location: 343 (just consumed gas: 0.035) + [ 1 ] + - location: 345 (just consumed gas: 0.010) + [ True ] + - location: 346 (just consumed gas: 0) + [ ] + - location: 346 (just consumed gas: 0.015) + [ ] + - location: 352 (just consumed gas: 0.010) + [ "a" ] + - location: 355 (just consumed gas: 0.010) + [ "b" + "a" ] + - location: 358 (just consumed gas: 0.035) + [ 1 ] + - location: 360 (just consumed gas: 0.010) + [ True ] + - location: 361 (just consumed gas: 0) + [ ] + - location: 361 (just consumed gas: 0.015) + [ ] + - location: 367 (just consumed gas: 0.010) + [ "b" ] + - location: 370 (just consumed gas: 0.010) + [ "a" + "b" ] + - location: 373 (just consumed gas: 0.035) + [ -1 ] + - location: 375 (just consumed gas: 0.010) + [ True ] + - location: 376 (just consumed gas: 0) + [ ] + - location: 376 (just consumed gas: 0.015) + [ ] + - location: 382 (just consumed gas: 0.010) + [ "2019-09-16T08:38:05Z" ] + - location: 385 (just consumed gas: 0.010) + [ "2019-09-16T08:38:05Z" + "2019-09-16T08:38:05Z" ] + - location: 386 (just consumed gas: 0.035) + [ 0 ] + - location: 388 (just consumed gas: 0.010) + [ True ] + - location: 389 (just consumed gas: 0) + [ ] + - location: 389 (just consumed gas: 0.015) + [ ] + - location: 395 (just consumed gas: 0.010) + [ "2017-09-16T08:38:04Z" ] + - location: 398 (just consumed gas: 0.010) + [ "2019-09-16T08:38:05Z" + "2017-09-16T08:38:04Z" ] + - location: 401 (just consumed gas: 0.035) + [ 1 ] + - location: 403 (just consumed gas: 0.010) + [ True ] + - location: 404 (just consumed gas: 0) + [ ] + - location: 404 (just consumed gas: 0.015) + [ ] + - location: 410 (just consumed gas: 0.010) + [ "2019-09-16T08:38:05Z" ] + - location: 413 (just consumed gas: 0.010) + [ "2019-09-16T08:38:04Z" + "2019-09-16T08:38:05Z" ] + - location: 416 (just consumed gas: 0.035) + [ -1 ] + - location: 418 (just consumed gas: 0.010) + [ True ] + - location: 419 (just consumed gas: 0) + [ ] + - location: 419 (just consumed gas: 0.015) + [ ] + - location: 425 (just consumed gas: 0.010) + [ Unit ] + - location: 426 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 428 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comparisons--storage457300675--input281780712-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comparisons--storage457300675--input281780712-.out new file mode 100644 index 000000000000..47643d2687da --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -comparisons--storage457300675--input281780712-.out @@ -0,0 +1,350 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/comparisons.tz on storage '{}' and input '{ -9999999; -1 ; 0 ; 1 ; 9999999 }' --level 1 --trace-stack +storage + { { False ; False ; False ; True ; True } ; + { False ; False ; True ; True ; True } ; + { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 29.633) + [ (Pair { -9999999 ; -1 ; 0 ; 1 ; 9999999 } {}) ] + - location: 10 (just consumed gas: 0.010) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 11 (just consumed gas: 0.010) + [ {} + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 14 (just consumed gas: 0) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 16 (just consumed gas: 0.010) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 17 (just consumed gas: 0) + [ -9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 19 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 17 (just consumed gas: 0.015) + [ -1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 19 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 17 (just consumed gas: 0.015) + [ 0 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 19 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 17 (just consumed gas: 0.015) + [ 1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 19 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 17 (just consumed gas: 0.015) + [ 9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 19 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 17 (just consumed gas: 0.015) + [ { False ; False ; True ; False ; False } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 14 (just consumed gas: 0.025) + [ {} + { False ; False ; True ; False ; False } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 20 (just consumed gas: 0.010) + [ { False ; False ; True ; False ; False } + {} + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 21 (just consumed gas: 0.010) + [ { { False ; False ; True ; False ; False } } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 22 (just consumed gas: 0) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 24 (just consumed gas: 0.010) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 25 (just consumed gas: 0) + [ -9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 27 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 25 (just consumed gas: 0.015) + [ -1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 27 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 25 (just consumed gas: 0.015) + [ 0 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 27 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 25 (just consumed gas: 0.015) + [ 1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 27 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 25 (just consumed gas: 0.015) + [ 9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 27 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 25 (just consumed gas: 0.015) + [ { True ; True ; False ; True ; True } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 22 (just consumed gas: 0.025) + [ { { False ; False ; True ; False ; False } } + { True ; True ; False ; True ; True } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 28 (just consumed gas: 0.010) + [ { True ; True ; False ; True ; True } + { { False ; False ; True ; False ; False } } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 29 (just consumed gas: 0.010) + [ { { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 30 (just consumed gas: 0) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 32 (just consumed gas: 0.010) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 33 (just consumed gas: 0) + [ -9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 35 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 33 (just consumed gas: 0.015) + [ -1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 35 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 33 (just consumed gas: 0.015) + [ 0 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 35 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 33 (just consumed gas: 0.015) + [ 1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 35 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 33 (just consumed gas: 0.015) + [ 9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 35 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 33 (just consumed gas: 0.015) + [ { True ; True ; True ; False ; False } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 30 (just consumed gas: 0.025) + [ { { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { True ; True ; True ; False ; False } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 36 (just consumed gas: 0.010) + [ { True ; True ; True ; False ; False } + { { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 37 (just consumed gas: 0.010) + [ { { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 38 (just consumed gas: 0) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 40 (just consumed gas: 0.010) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 41 (just consumed gas: 0) + [ -9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 43 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 41 (just consumed gas: 0.015) + [ -1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 43 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 41 (just consumed gas: 0.015) + [ 0 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 43 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 41 (just consumed gas: 0.015) + [ 1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 43 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 41 (just consumed gas: 0.015) + [ 9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 43 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 41 (just consumed gas: 0.015) + [ { True ; True ; False ; False ; False } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 38 (just consumed gas: 0.025) + [ { { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { True ; True ; False ; False ; False } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 44 (just consumed gas: 0.010) + [ { True ; True ; False ; False ; False } + { { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 45 (just consumed gas: 0.010) + [ { { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 46 (just consumed gas: 0) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 48 (just consumed gas: 0.010) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 49 (just consumed gas: 0) + [ -9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 51 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 49 (just consumed gas: 0.015) + [ -1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 51 (just consumed gas: 0.010) + [ False + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 49 (just consumed gas: 0.015) + [ 0 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 51 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 49 (just consumed gas: 0.015) + [ 1 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 51 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 49 (just consumed gas: 0.015) + [ 9999999 + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 51 (just consumed gas: 0.010) + [ True + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 49 (just consumed gas: 0.015) + [ { False ; False ; True ; True ; True } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 46 (just consumed gas: 0.025) + [ { { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { False ; False ; True ; True ; True } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 52 (just consumed gas: 0.010) + [ { False ; False ; True ; True ; True } + { { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 53 (just consumed gas: 0.010) + [ { { False ; False ; True ; True ; True } ; + { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 54 (just consumed gas: 0) + [ { -9999999 ; -1 ; 0 ; 1 ; 9999999 } ] + - location: 56 (just consumed gas: 0) + [ -9999999 ] + - location: 58 (just consumed gas: 0.010) + [ False ] + - location: 56 (just consumed gas: 0.015) + [ -1 ] + - location: 58 (just consumed gas: 0.010) + [ False ] + - location: 56 (just consumed gas: 0.015) + [ 0 ] + - location: 58 (just consumed gas: 0.010) + [ False ] + - location: 56 (just consumed gas: 0.015) + [ 1 ] + - location: 58 (just consumed gas: 0.010) + [ True ] + - location: 56 (just consumed gas: 0.015) + [ 9999999 ] + - location: 58 (just consumed gas: 0.010) + [ True ] + - location: 56 (just consumed gas: 0.015) + [ { False ; False ; False ; True ; True } ] + - location: 54 (just consumed gas: 0.025) + [ { { False ; False ; True ; True ; True } ; + { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } + { False ; False ; False ; True ; True } ] + - location: 59 (just consumed gas: 0.010) + [ { False ; False ; False ; True ; True } + { { False ; False ; True ; True ; True } ; + { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } ] + - location: 60 (just consumed gas: 0.010) + [ { { False ; False ; False ; True ; True } ; + { False ; False ; True ; True ; True } ; + { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } ] + - location: 61 (just consumed gas: 0.010) + [ {} + { { False ; False ; False ; True ; True } ; + { False ; False ; True ; True ; True } ; + { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } } ] + - location: 63 (just consumed gas: 0.010) + [ (Pair {} + { { False ; False ; False ; True ; True } ; + { False ; False ; True ; True ; True } ; + { True ; True ; False ; False ; False } ; + { True ; True ; True ; False ; False } ; + { True ; True ; False ; True ; True } ; + { False ; False ; True ; False ; False } }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input392583650-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input392583650-.out new file mode 100644 index 000000000000..47539fa1cccc --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input392583650-.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/concat_hello.tz on storage '{}' and input '{ "test1" ; "test2" }' --level 1 --trace-stack +storage + { "Hello test1" ; "Hello test2" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.769) + [ (Pair { "test1" ; "test2" } {}) ] + - location: 9 (just consumed gas: 0.010) + [ { "test1" ; "test2" } ] + - location: 10 (just consumed gas: 0) + [ "test1" ] + - location: 12 (just consumed gas: 0.010) + [ "Hello " + "test1" ] + - location: 15 (just consumed gas: 0.050) + [ "Hello test1" ] + - location: 10 (just consumed gas: 0.015) + [ "test2" ] + - location: 12 (just consumed gas: 0.010) + [ "Hello " + "test2" ] + - location: 15 (just consumed gas: 0.050) + [ "Hello test2" ] + - location: 10 (just consumed gas: 0.015) + [ { "Hello test1" ; "Hello test2" } ] + - location: 16 (just consumed gas: 0.010) + [ {} + { "Hello test1" ; "Hello test2" } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} { "Hello test1" ; "Hello test2" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input457300675-.out new file mode 100644 index 000000000000..47e7f44a0f96 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input457300675-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/concat_hello.tz on storage '{}' and input '{}' --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.441) + [ (Pair {} {}) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0) + [ {} ] + - location: 16 (just consumed gas: 0.010) + [ {} + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input640104625-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input640104625-.out new file mode 100644 index 000000000000..3d099ad4c580 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello--storage457300675--input640104625-.out @@ -0,0 +1,28 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/concat_hello.tz on storage '{}' and input '{ "World!" }' --level 1 --trace-stack +storage + { "Hello World!" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.615) + [ (Pair { "World!" } {}) ] + - location: 9 (just consumed gas: 0.010) + [ { "World!" } ] + - location: 10 (just consumed gas: 0) + [ "World!" ] + - location: 12 (just consumed gas: 0.010) + [ "Hello " + "World!" ] + - location: 15 (just consumed gas: 0.051) + [ "Hello World!" ] + - location: 10 (just consumed gas: 0.015) + [ { "Hello World!" } ] + - location: 16 (just consumed gas: 0.010) + [ {} + { "Hello World!" } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} { "Hello World!" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input354091714-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input354091714-.out new file mode 100644 index 000000000000..bf3a700b1336 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input354091714-.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/concat_hello_bytes.tz on storage '{}' and input '{ 0xab ; 0xcd }' --level 1 --trace-stack +storage + { 0xffab ; 0xffcd } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.522) + [ (Pair { 0xab ; 0xcd } {}) ] + - location: 9 (just consumed gas: 0.010) + [ { 0xab ; 0xcd } ] + - location: 10 (just consumed gas: 0) + [ 0xab ] + - location: 12 (just consumed gas: 0.010) + [ 0xff + 0xab ] + - location: 15 (just consumed gas: 0.046) + [ 0xffab ] + - location: 10 (just consumed gas: 0.015) + [ 0xcd ] + - location: 12 (just consumed gas: 0.010) + [ 0xff + 0xcd ] + - location: 15 (just consumed gas: 0.046) + [ 0xffcd ] + - location: 10 (just consumed gas: 0.015) + [ { 0xffab ; 0xffcd } ] + - location: 16 (just consumed gas: 0.010) + [ {} + { 0xffab ; 0xffcd } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} { 0xffab ; 0xffcd }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input441061063-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input441061063-.out new file mode 100644 index 000000000000..7d98c77a2b56 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input441061063-.out @@ -0,0 +1,28 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/concat_hello_bytes.tz on storage '{}' and input '{ 0xcd }' --level 1 --trace-stack +storage + { 0xffcd } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.422) + [ (Pair { 0xcd } {}) ] + - location: 9 (just consumed gas: 0.010) + [ { 0xcd } ] + - location: 10 (just consumed gas: 0) + [ 0xcd ] + - location: 12 (just consumed gas: 0.010) + [ 0xff + 0xcd ] + - location: 15 (just consumed gas: 0.046) + [ 0xffcd ] + - location: 10 (just consumed gas: 0.015) + [ { 0xffcd } ] + - location: 16 (just consumed gas: 0.010) + [ {} + { 0xffcd } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} { 0xffcd }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input457300675-.out new file mode 100644 index 000000000000..e903dde15113 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_hello_bytes--storage457300675--input457300675-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/concat_hello_bytes.tz on storage '{}' and input '{}' --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.322) + [ (Pair {} {}) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0) + [ {} ] + - location: 16 (just consumed gas: 0.010) + [ {} + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input264787654-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input264787654-.out new file mode 100644 index 000000000000..4e8f00663d82 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input264787654-.out @@ -0,0 +1,96 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/concat_list.tz on storage '""' and input '{ "a" ; "b" ; "c" }' --level 1 --trace-stack +storage + "abc" +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 10.864) + [ (Pair { "a" ; "b" ; "c" } "") ] + - location: 8 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } ] + - location: 9 (just consumed gas: 0.010) + [ "" + { "a" ; "b" ; "c" } ] + - location: 12 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } + "" ] + - location: 13 (just consumed gas: 0) + [ "a" + "" ] + - location: 15 (just consumed gas: 0.010) + [ "" + "a" ] + - location: 16 (just consumed gas: 0) + [ "a" ] + - location: 18 (just consumed gas: 0.010) + [ {} + "a" ] + - location: 20 (just consumed gas: 0.010) + [ "a" + {} ] + - location: 21 (just consumed gas: 0.010) + [ { "a" } ] + - location: 16 (just consumed gas: 0.025) + [ "" + { "a" } ] + - location: 22 (just consumed gas: 0.010) + [ { "" ; "a" } ] + - location: 23 (just consumed gas: 0.120) + [ "a" ] + - location: 13 (just consumed gas: 0.015) + [ "b" + "a" ] + - location: 15 (just consumed gas: 0.010) + [ "a" + "b" ] + - location: 16 (just consumed gas: 0) + [ "b" ] + - location: 18 (just consumed gas: 0.010) + [ {} + "b" ] + - location: 20 (just consumed gas: 0.010) + [ "b" + {} ] + - location: 21 (just consumed gas: 0.010) + [ { "b" } ] + - location: 16 (just consumed gas: 0.025) + [ "a" + { "b" } ] + - location: 22 (just consumed gas: 0.010) + [ { "a" ; "b" } ] + - location: 23 (just consumed gas: 0.121) + [ "ab" ] + - location: 13 (just consumed gas: 0.015) + [ "c" + "ab" ] + - location: 15 (just consumed gas: 0.010) + [ "ab" + "c" ] + - location: 16 (just consumed gas: 0) + [ "c" ] + - location: 18 (just consumed gas: 0.010) + [ {} + "c" ] + - location: 20 (just consumed gas: 0.010) + [ "c" + {} ] + - location: 21 (just consumed gas: 0.010) + [ { "c" } ] + - location: 16 (just consumed gas: 0.025) + [ "ab" + { "c" } ] + - location: 22 (just consumed gas: 0.010) + [ { "ab" ; "c" } ] + - location: 23 (just consumed gas: 0.121) + [ "abc" ] + - location: 13 (just consumed gas: 0.015) + [ "abc" ] + - location: 24 (just consumed gas: 0.010) + [ {} + "abc" ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} "abc") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input316676251-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input316676251-.out new file mode 100644 index 000000000000..7136b38f848f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input316676251-.out @@ -0,0 +1,119 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/concat_list.tz on storage '""' and input '{ "Hello" ; " " ; "World" ; "!" }' --level 1 --trace-stack +storage + "Hello World!" +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 11.068) + [ (Pair { "Hello" ; " " ; "World" ; "!" } "") ] + - location: 8 (just consumed gas: 0.010) + [ { "Hello" ; " " ; "World" ; "!" } ] + - location: 9 (just consumed gas: 0.010) + [ "" + { "Hello" ; " " ; "World" ; "!" } ] + - location: 12 (just consumed gas: 0.010) + [ { "Hello" ; " " ; "World" ; "!" } + "" ] + - location: 13 (just consumed gas: 0) + [ "Hello" + "" ] + - location: 15 (just consumed gas: 0.010) + [ "" + "Hello" ] + - location: 16 (just consumed gas: 0) + [ "Hello" ] + - location: 18 (just consumed gas: 0.010) + [ {} + "Hello" ] + - location: 20 (just consumed gas: 0.010) + [ "Hello" + {} ] + - location: 21 (just consumed gas: 0.010) + [ { "Hello" } ] + - location: 16 (just consumed gas: 0.025) + [ "" + { "Hello" } ] + - location: 22 (just consumed gas: 0.010) + [ { "" ; "Hello" } ] + - location: 23 (just consumed gas: 0.122) + [ "Hello" ] + - location: 13 (just consumed gas: 0.015) + [ " " + "Hello" ] + - location: 15 (just consumed gas: 0.010) + [ "Hello" + " " ] + - location: 16 (just consumed gas: 0) + [ " " ] + - location: 18 (just consumed gas: 0.010) + [ {} + " " ] + - location: 20 (just consumed gas: 0.010) + [ " " + {} ] + - location: 21 (just consumed gas: 0.010) + [ { " " } ] + - location: 16 (just consumed gas: 0.025) + [ "Hello" + { " " } ] + - location: 22 (just consumed gas: 0.010) + [ { "Hello" ; " " } ] + - location: 23 (just consumed gas: 0.123) + [ "Hello " ] + - location: 13 (just consumed gas: 0.015) + [ "World" + "Hello " ] + - location: 15 (just consumed gas: 0.010) + [ "Hello " + "World" ] + - location: 16 (just consumed gas: 0) + [ "World" ] + - location: 18 (just consumed gas: 0.010) + [ {} + "World" ] + - location: 20 (just consumed gas: 0.010) + [ "World" + {} ] + - location: 21 (just consumed gas: 0.010) + [ { "World" } ] + - location: 16 (just consumed gas: 0.025) + [ "Hello " + { "World" } ] + - location: 22 (just consumed gas: 0.010) + [ { "Hello " ; "World" } ] + - location: 23 (just consumed gas: 0.125) + [ "Hello World" ] + - location: 13 (just consumed gas: 0.015) + [ "!" + "Hello World" ] + - location: 15 (just consumed gas: 0.010) + [ "Hello World" + "!" ] + - location: 16 (just consumed gas: 0) + [ "!" ] + - location: 18 (just consumed gas: 0.010) + [ {} + "!" ] + - location: 20 (just consumed gas: 0.010) + [ "!" + {} ] + - location: 21 (just consumed gas: 0.010) + [ { "!" } ] + - location: 16 (just consumed gas: 0.025) + [ "Hello World" + { "!" } ] + - location: 22 (just consumed gas: 0.010) + [ { "Hello World" ; "!" } ] + - location: 23 (just consumed gas: 0.126) + [ "Hello World!" ] + - location: 13 (just consumed gas: 0.015) + [ "Hello World!" ] + - location: 24 (just consumed gas: 0.010) + [ {} + "Hello World!" ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} "Hello World!") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input457300675-.out new file mode 100644 index 000000000000..10a1aed6acd1 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -concat_list--storage79230375--input457300675-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/concat_list.tz on storage '""' and input '{}' --level 1 --trace-stack +storage + "" +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 10.492) + [ (Pair {} "") ] + - location: 8 (just consumed gas: 0.010) + [ {} ] + - location: 9 (just consumed gas: 0.010) + [ "" + {} ] + - location: 12 (just consumed gas: 0.010) + [ {} + "" ] + - location: 13 (just consumed gas: 0) + [ "" ] + - location: 24 (just consumed gas: 0.010) + [ {} + "" ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} "") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage457300675--input798141440-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage457300675--input798141440-.out new file mode 100644 index 000000000000..6e9c16ccddda --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage457300675--input798141440-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/cons.tz on storage '{}' and input 10 --level 1 --trace-stack +storage + { 10 } +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.560) + [ (Pair 10 {}) ] + - location: 8 (just consumed gas: 0.010) + [ 10 + {} ] + - location: 9 (just consumed gas: 0.010) + [ { 10 } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { 10 } ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} { 10 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage581876226--input166122047-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage581876226--input166122047-.out new file mode 100644 index 000000000000..21d9ddcdea8c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage581876226--input166122047-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/cons.tz on storage '{ 10 }' and input -5 --level 1 --trace-stack +storage + { -5 ; 10 } +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.660) + [ (Pair -5 { 10 }) ] + - location: 8 (just consumed gas: 0.010) + [ -5 + { 10 } ] + - location: 9 (just consumed gas: 0.010) + [ { -5 ; 10 } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { -5 ; 10 } ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} { -5 ; 10 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage793461282--input781487591-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage793461282--input781487591-.out new file mode 100644 index 000000000000..67bd021c2a09 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -cons--storage793461282--input781487591-.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/cons.tz on storage '{ -5 ; 10 }' and input 99 --level 1 --trace-stack +storage + { 99 ; -5 ; 10 } +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.760) + [ (Pair 99 { -5 ; 10 }) ] + - location: 8 (just consumed gas: 0.010) + [ 99 + { -5 ; 10 } ] + - location: 9 (just consumed gas: 0.010) + [ { 99 ; -5 ; 10 } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { 99 ; -5 ; 10 } ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} { 99 ; -5 ; 10 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input315650912-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input315650912-.out new file mode 100644 index 000000000000..97aaa06f483f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input315650912-.out @@ -0,0 +1,166 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/contains_all.tz on storage None and input '(Pair { "B" } { "B" })' --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 32.251) + [ (Pair (Pair { "B" } { "B" }) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair { "B" } { "B" }) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair { "B" } { "B" }) + (Pair { "B" } { "B" }) ] + - location: 14 (just consumed gas: 0.010) + [ { "B" } + (Pair { "B" } { "B" }) ] + - location: 15 (just consumed gas: 0) + [ (Pair { "B" } { "B" }) ] + - location: 17 (just consumed gas: 0.010) + [ { "B" } ] + - location: 15 (just consumed gas: 0.025) + [ { "B" } + { "B" } ] + - location: 18 (just consumed gas: 0.300) + [ {} + { "B" } + { "B" } ] + - location: 20 (just consumed gas: 0.010) + [ { "B" } + {} + { "B" } ] + - location: 21 (just consumed gas: 0) + [ "B" + {} + { "B" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "B" {}) + { "B" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "B" {}) + (Pair "B" {}) + { "B" } ] + - location: 25 (just consumed gas: 0.010) + [ "B" + (Pair "B" {}) + { "B" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "B" {}) + { "B" } ] + - location: 28 (just consumed gas: 0.010) + [ {} + { "B" } ] + - location: 26 (just consumed gas: 0.025) + [ "B" + {} + { "B" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "B" + {} + { "B" } ] + - location: 32 (just consumed gas: 0.010) + [ "B" + True + {} + { "B" } ] + - location: 33 (just consumed gas: 0.132) + [ { "B" } + { "B" } ] + - location: 21 (just consumed gas: 0.015) + [ { "B" } + { "B" } ] + - location: 34 (just consumed gas: 0.010) + [ True + { "B" } + { "B" } ] + - location: 37 (just consumed gas: 0.010) + [ { "B" } + True + { "B" } ] + - location: 38 (just consumed gas: 0.010) + [ (Pair { "B" } True) + { "B" } ] + - location: 39 (just consumed gas: 0.010) + [ { "B" } + (Pair { "B" } True) ] + - location: 40 (just consumed gas: 0) + [ "B" + (Pair { "B" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "B" { "B" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "B" { "B" } True) + (Pair "B" { "B" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "B" { "B" } True) + (Pair "B" { "B" } True) + (Pair "B" { "B" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "B" + (Pair "B" { "B" } True) + (Pair "B" { "B" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "B" { "B" } True) + (Pair "B" { "B" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "B" } True) + (Pair "B" { "B" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "B" } + (Pair "B" { "B" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "B" { "B" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "B" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "B" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "B" } + { "B" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "B" + { "B" } + { "B" } + True ] + - location: 57 (just consumed gas: 0.117) + [ True + { "B" } + True ] + - location: 58 (just consumed gas: 0) + [ { "B" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "B" } ] + - location: 58 (just consumed gas: 0.025) + [ True + True + { "B" } ] + - location: 61 (just consumed gas: 0.010) + [ True + { "B" } ] + - location: 62 (just consumed gas: 0.010) + [ { "B" } + True ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "B" } True) ] + - location: 40 (just consumed gas: 0.015) + [ (Pair { "B" } True) ] + - location: 64 (just consumed gas: 0.010) + [ True ] + - location: 65 (just consumed gas: 0.010) + [ (Some True) ] + - location: 66 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 68 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input51111414-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input51111414-.out new file mode 100644 index 000000000000..90b25971d6d4 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input51111414-.out @@ -0,0 +1,410 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/contains_all.tz on storage None and input '(Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" })' --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 32.931) + [ (Pair (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) + (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) ] + - location: 14 (just consumed gas: 0.010) + [ { "B" ; "B" ; "asdf" ; "C" } + (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) ] + - location: 15 (just consumed gas: 0) + [ (Pair { "B" ; "B" ; "asdf" ; "C" } { "B" ; "C" ; "asdf" }) ] + - location: 17 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } ] + - location: 15 (just consumed gas: 0.025) + [ { "B" ; "B" ; "asdf" ; "C" } + { "B" ; "C" ; "asdf" } ] + - location: 18 (just consumed gas: 0.300) + [ {} + { "B" ; "B" ; "asdf" ; "C" } + { "B" ; "C" ; "asdf" } ] + - location: 20 (just consumed gas: 0.010) + [ { "B" ; "B" ; "asdf" ; "C" } + {} + { "B" ; "C" ; "asdf" } ] + - location: 21 (just consumed gas: 0) + [ "B" + {} + { "B" ; "C" ; "asdf" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "B" {}) + { "B" ; "C" ; "asdf" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "B" {}) + (Pair "B" {}) + { "B" ; "C" ; "asdf" } ] + - location: 25 (just consumed gas: 0.010) + [ "B" + (Pair "B" {}) + { "B" ; "C" ; "asdf" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "B" {}) + { "B" ; "C" ; "asdf" } ] + - location: 28 (just consumed gas: 0.010) + [ {} + { "B" ; "C" ; "asdf" } ] + - location: 26 (just consumed gas: 0.025) + [ "B" + {} + { "B" ; "C" ; "asdf" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "B" + {} + { "B" ; "C" ; "asdf" } ] + - location: 32 (just consumed gas: 0.010) + [ "B" + True + {} + { "B" ; "C" ; "asdf" } ] + - location: 33 (just consumed gas: 0.132) + [ { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 21 (just consumed gas: 0.015) + [ "B" + { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "B" { "B" }) + { "B" ; "C" ; "asdf" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "B" { "B" }) + (Pair "B" { "B" }) + { "B" ; "C" ; "asdf" } ] + - location: 25 (just consumed gas: 0.010) + [ "B" + (Pair "B" { "B" }) + { "B" ; "C" ; "asdf" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "B" { "B" }) + { "B" ; "C" ; "asdf" } ] + - location: 28 (just consumed gas: 0.010) + [ { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 26 (just consumed gas: 0.025) + [ "B" + { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "B" + { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 32 (just consumed gas: 0.010) + [ "B" + True + { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 33 (just consumed gas: 0.134) + [ { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 21 (just consumed gas: 0.015) + [ "asdf" + { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" }) + { "B" ; "C" ; "asdf" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" }) + (Pair "asdf" { "B" }) + { "B" ; "C" ; "asdf" } ] + - location: 25 (just consumed gas: 0.010) + [ "asdf" + (Pair "asdf" { "B" }) + { "B" ; "C" ; "asdf" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "asdf" { "B" }) + { "B" ; "C" ; "asdf" } ] + - location: 28 (just consumed gas: 0.010) + [ { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 26 (just consumed gas: 0.025) + [ "asdf" + { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "asdf" + { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 32 (just consumed gas: 0.010) + [ "asdf" + True + { "B" } + { "B" ; "C" ; "asdf" } ] + - location: 33 (just consumed gas: 0.146) + [ { "B" ; "asdf" } + { "B" ; "C" ; "asdf" } ] + - location: 21 (just consumed gas: 0.015) + [ "C" + { "B" ; "asdf" } + { "B" ; "C" ; "asdf" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "C" { "B" ; "asdf" }) + { "B" ; "C" ; "asdf" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "C" { "B" ; "asdf" }) + (Pair "C" { "B" ; "asdf" }) + { "B" ; "C" ; "asdf" } ] + - location: 25 (just consumed gas: 0.010) + [ "C" + (Pair "C" { "B" ; "asdf" }) + { "B" ; "C" ; "asdf" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "C" { "B" ; "asdf" }) + { "B" ; "C" ; "asdf" } ] + - location: 28 (just consumed gas: 0.010) + [ { "B" ; "asdf" } + { "B" ; "C" ; "asdf" } ] + - location: 26 (just consumed gas: 0.025) + [ "C" + { "B" ; "asdf" } + { "B" ; "C" ; "asdf" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "C" + { "B" ; "asdf" } + { "B" ; "C" ; "asdf" } ] + - location: 32 (just consumed gas: 0.010) + [ "C" + True + { "B" ; "asdf" } + { "B" ; "C" ; "asdf" } ] + - location: 33 (just consumed gas: 0.136) + [ { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } ] + - location: 21 (just consumed gas: 0.015) + [ { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } ] + - location: 34 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } ] + - location: 37 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + True + { "B" ; "C" ; "asdf" } ] + - location: 38 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) + { "B" ; "C" ; "asdf" } ] + - location: 39 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 40 (just consumed gas: 0) + [ "B" + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "B" + (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "B" + { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 57 (just consumed gas: 0.118) + [ True + { "B" ; "C" ; "asdf" } + True ] + - location: 58 (just consumed gas: 0) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 58 (just consumed gas: 0.025) + [ True + True + { "B" ; "C" ; "asdf" } ] + - location: 61 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 62 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 40 (just consumed gas: 0.015) + [ "C" + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "C" + (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "C" + { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 57 (just consumed gas: 0.118) + [ True + { "B" ; "C" ; "asdf" } + True ] + - location: 58 (just consumed gas: 0) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 58 (just consumed gas: 0.025) + [ True + True + { "B" ; "C" ; "asdf" } ] + - location: 61 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 62 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 40 (just consumed gas: 0.015) + [ "asdf" + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "asdf" + (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "asdf" + { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 57 (just consumed gas: 0.127) + [ True + { "B" ; "C" ; "asdf" } + True ] + - location: 58 (just consumed gas: 0) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 58 (just consumed gas: 0.025) + [ True + True + { "B" ; "C" ; "asdf" } ] + - location: 61 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 62 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 40 (just consumed gas: 0.015) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 64 (just consumed gas: 0.010) + [ True ] + - location: 65 (just consumed gas: 0.010) + [ (Some True) ] + - location: 66 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 68 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input545734274-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input545734274-.out new file mode 100644 index 000000000000..2254021448b0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input545734274-.out @@ -0,0 +1,166 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/contains_all.tz on storage None and input '(Pair { "A" } { "B" })' --level 1 --trace-stack +storage + (Some False) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 32.251) + [ (Pair (Pair { "A" } { "B" }) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair { "A" } { "B" }) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair { "A" } { "B" }) + (Pair { "A" } { "B" }) ] + - location: 14 (just consumed gas: 0.010) + [ { "A" } + (Pair { "A" } { "B" }) ] + - location: 15 (just consumed gas: 0) + [ (Pair { "A" } { "B" }) ] + - location: 17 (just consumed gas: 0.010) + [ { "B" } ] + - location: 15 (just consumed gas: 0.025) + [ { "A" } + { "B" } ] + - location: 18 (just consumed gas: 0.300) + [ {} + { "A" } + { "B" } ] + - location: 20 (just consumed gas: 0.010) + [ { "A" } + {} + { "B" } ] + - location: 21 (just consumed gas: 0) + [ "A" + {} + { "B" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "A" {}) + { "B" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "A" {}) + (Pair "A" {}) + { "B" } ] + - location: 25 (just consumed gas: 0.010) + [ "A" + (Pair "A" {}) + { "B" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "A" {}) + { "B" } ] + - location: 28 (just consumed gas: 0.010) + [ {} + { "B" } ] + - location: 26 (just consumed gas: 0.025) + [ "A" + {} + { "B" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "A" + {} + { "B" } ] + - location: 32 (just consumed gas: 0.010) + [ "A" + True + {} + { "B" } ] + - location: 33 (just consumed gas: 0.132) + [ { "A" } + { "B" } ] + - location: 21 (just consumed gas: 0.015) + [ { "A" } + { "B" } ] + - location: 34 (just consumed gas: 0.010) + [ True + { "A" } + { "B" } ] + - location: 37 (just consumed gas: 0.010) + [ { "A" } + True + { "B" } ] + - location: 38 (just consumed gas: 0.010) + [ (Pair { "A" } True) + { "B" } ] + - location: 39 (just consumed gas: 0.010) + [ { "B" } + (Pair { "A" } True) ] + - location: 40 (just consumed gas: 0) + [ "B" + (Pair { "A" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "B" { "A" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "B" { "A" } True) + (Pair "B" { "A" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "B" { "A" } True) + (Pair "B" { "A" } True) + (Pair "B" { "A" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "B" + (Pair "B" { "A" } True) + (Pair "B" { "A" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "B" { "A" } True) + (Pair "B" { "A" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "A" } True) + (Pair "B" { "A" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "A" } + (Pair "B" { "A" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "B" { "A" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "A" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "A" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "A" } + { "A" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "B" + { "A" } + { "A" } + True ] + - location: 57 (just consumed gas: 0.117) + [ False + { "A" } + True ] + - location: 58 (just consumed gas: 0) + [ { "A" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "A" } ] + - location: 58 (just consumed gas: 0.025) + [ False + True + { "A" } ] + - location: 61 (just consumed gas: 0.010) + [ False + { "A" } ] + - location: 62 (just consumed gas: 0.010) + [ { "A" } + False ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "A" } False) ] + - location: 40 (just consumed gas: 0.015) + [ (Pair { "A" } False) ] + - location: 64 (just consumed gas: 0.010) + [ False ] + - location: 65 (just consumed gas: 0.010) + [ (Some False) ] + - location: 66 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 68 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input772794967-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input772794967-.out new file mode 100644 index 000000000000..0f74de79b55c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input772794967-.out @@ -0,0 +1,63 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/contains_all.tz on storage None and input '(Pair {} {})' --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 32.003) + [ (Pair (Pair {} {}) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} {}) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} {}) + (Pair {} {}) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Pair {} {}) ] + - location: 15 (just consumed gas: 0) + [ (Pair {} {}) ] + - location: 17 (just consumed gas: 0.010) + [ {} ] + - location: 15 (just consumed gas: 0.025) + [ {} + {} ] + - location: 18 (just consumed gas: 0.300) + [ {} + {} + {} ] + - location: 20 (just consumed gas: 0.010) + [ {} + {} + {} ] + - location: 21 (just consumed gas: 0) + [ {} + {} ] + - location: 34 (just consumed gas: 0.010) + [ True + {} + {} ] + - location: 37 (just consumed gas: 0.010) + [ {} + True + {} ] + - location: 38 (just consumed gas: 0.010) + [ (Pair {} True) + {} ] + - location: 39 (just consumed gas: 0.010) + [ {} + (Pair {} True) ] + - location: 40 (just consumed gas: 0) + [ (Pair {} True) ] + - location: 64 (just consumed gas: 0.010) + [ True ] + - location: 65 (just consumed gas: 0.010) + [ (Some True) ] + - location: 66 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 68 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input917967660-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input917967660-.out new file mode 100644 index 000000000000..a09ad1ac086a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input917967660-.out @@ -0,0 +1,437 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/contains_all.tz on storage None and input '(Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" })' --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 32.931) + [ (Pair (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) + (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) ] + - location: 14 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) ] + - location: 15 (just consumed gas: 0) + [ (Pair { "B" ; "C" ; "asdf" } { "B" ; "B" ; "asdf" ; "C" }) ] + - location: 17 (just consumed gas: 0.010) + [ { "B" ; "B" ; "asdf" ; "C" } ] + - location: 15 (just consumed gas: 0.025) + [ { "B" ; "C" ; "asdf" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 18 (just consumed gas: 0.300) + [ {} + { "B" ; "C" ; "asdf" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 20 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + {} + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 21 (just consumed gas: 0) + [ "B" + {} + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "B" {}) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "B" {}) + (Pair "B" {}) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 25 (just consumed gas: 0.010) + [ "B" + (Pair "B" {}) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "B" {}) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 28 (just consumed gas: 0.010) + [ {} + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 26 (just consumed gas: 0.025) + [ "B" + {} + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "B" + {} + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 32 (just consumed gas: 0.010) + [ "B" + True + {} + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 33 (just consumed gas: 0.132) + [ { "B" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 21 (just consumed gas: 0.015) + [ "C" + { "B" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "C" { "B" }) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "C" { "B" }) + (Pair "C" { "B" }) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 25 (just consumed gas: 0.010) + [ "C" + (Pair "C" { "B" }) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "C" { "B" }) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 28 (just consumed gas: 0.010) + [ { "B" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 26 (just consumed gas: 0.025) + [ "C" + { "B" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "C" + { "B" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 32 (just consumed gas: 0.010) + [ "C" + True + { "B" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 33 (just consumed gas: 0.134) + [ { "B" ; "C" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 21 (just consumed gas: 0.015) + [ "asdf" + { "B" ; "C" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" ; "C" }) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" ; "C" }) + (Pair "asdf" { "B" ; "C" }) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 25 (just consumed gas: 0.010) + [ "asdf" + (Pair "asdf" { "B" ; "C" }) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "asdf" { "B" ; "C" }) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 28 (just consumed gas: 0.010) + [ { "B" ; "C" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 26 (just consumed gas: 0.025) + [ "asdf" + { "B" ; "C" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "asdf" + { "B" ; "C" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 32 (just consumed gas: 0.010) + [ "asdf" + True + { "B" ; "C" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 33 (just consumed gas: 0.154) + [ { "B" ; "C" ; "asdf" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 21 (just consumed gas: 0.015) + [ { "B" ; "C" ; "asdf" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 34 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 37 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + True + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 38 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) + { "B" ; "B" ; "asdf" ; "C" } ] + - location: 39 (just consumed gas: 0.010) + [ { "B" ; "B" ; "asdf" ; "C" } + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 40 (just consumed gas: 0) + [ "B" + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "B" + (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "B" + { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 57 (just consumed gas: 0.118) + [ True + { "B" ; "C" ; "asdf" } + True ] + - location: 58 (just consumed gas: 0) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 58 (just consumed gas: 0.025) + [ True + True + { "B" ; "C" ; "asdf" } ] + - location: 61 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 62 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 40 (just consumed gas: 0.015) + [ "B" + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "B" + (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "B" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "B" + { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 57 (just consumed gas: 0.118) + [ True + { "B" ; "C" ; "asdf" } + True ] + - location: 58 (just consumed gas: 0) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 58 (just consumed gas: 0.025) + [ True + True + { "B" ; "C" ; "asdf" } ] + - location: 61 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 62 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 40 (just consumed gas: 0.015) + [ "asdf" + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "asdf" + (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "asdf" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "asdf" + { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 57 (just consumed gas: 0.127) + [ True + { "B" ; "C" ; "asdf" } + True ] + - location: 58 (just consumed gas: 0) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 58 (just consumed gas: 0.025) + [ True + True + { "B" ; "C" ; "asdf" } ] + - location: 61 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 62 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 40 (just consumed gas: 0.015) + [ "C" + (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "C" + (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "C" { "B" ; "C" ; "asdf" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "C" + { "B" ; "C" ; "asdf" } + { "B" ; "C" ; "asdf" } + True ] + - location: 57 (just consumed gas: 0.118) + [ True + { "B" ; "C" ; "asdf" } + True ] + - location: 58 (just consumed gas: 0) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 58 (just consumed gas: 0.025) + [ True + True + { "B" ; "C" ; "asdf" } ] + - location: 61 (just consumed gas: 0.010) + [ True + { "B" ; "C" ; "asdf" } ] + - location: 62 (just consumed gas: 0.010) + [ { "B" ; "C" ; "asdf" } + True ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 40 (just consumed gas: 0.015) + [ (Pair { "B" ; "C" ; "asdf" } True) ] + - location: 64 (just consumed gas: 0.010) + [ True ] + - location: 65 (just consumed gas: 0.010) + [ (Some True) ] + - location: 66 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 68 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input964818218-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input964818218-.out new file mode 100644 index 000000000000..207e302a0584 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contains_all--storage921624073--input964818218-.out @@ -0,0 +1,166 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/contains_all.tz on storage None and input '(Pair { "c" } { "B" })' --level 1 --trace-stack +storage + (Some False) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 32.251) + [ (Pair (Pair { "c" } { "B" }) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair { "c" } { "B" }) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair { "c" } { "B" }) + (Pair { "c" } { "B" }) ] + - location: 14 (just consumed gas: 0.010) + [ { "c" } + (Pair { "c" } { "B" }) ] + - location: 15 (just consumed gas: 0) + [ (Pair { "c" } { "B" }) ] + - location: 17 (just consumed gas: 0.010) + [ { "B" } ] + - location: 15 (just consumed gas: 0.025) + [ { "c" } + { "B" } ] + - location: 18 (just consumed gas: 0.300) + [ {} + { "c" } + { "B" } ] + - location: 20 (just consumed gas: 0.010) + [ { "c" } + {} + { "B" } ] + - location: 21 (just consumed gas: 0) + [ "c" + {} + { "B" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair "c" {}) + { "B" } ] + - location: 24 (just consumed gas: 0.010) + [ (Pair "c" {}) + (Pair "c" {}) + { "B" } ] + - location: 25 (just consumed gas: 0.010) + [ "c" + (Pair "c" {}) + { "B" } ] + - location: 26 (just consumed gas: 0) + [ (Pair "c" {}) + { "B" } ] + - location: 28 (just consumed gas: 0.010) + [ {} + { "B" } ] + - location: 26 (just consumed gas: 0.025) + [ "c" + {} + { "B" } ] + - location: 29 (just consumed gas: 0.010) + [ True + "c" + {} + { "B" } ] + - location: 32 (just consumed gas: 0.010) + [ "c" + True + {} + { "B" } ] + - location: 33 (just consumed gas: 0.132) + [ { "c" } + { "B" } ] + - location: 21 (just consumed gas: 0.015) + [ { "c" } + { "B" } ] + - location: 34 (just consumed gas: 0.010) + [ True + { "c" } + { "B" } ] + - location: 37 (just consumed gas: 0.010) + [ { "c" } + True + { "B" } ] + - location: 38 (just consumed gas: 0.010) + [ (Pair { "c" } True) + { "B" } ] + - location: 39 (just consumed gas: 0.010) + [ { "B" } + (Pair { "c" } True) ] + - location: 40 (just consumed gas: 0) + [ "B" + (Pair { "c" } True) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair "B" { "c" } True) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair "B" { "c" } True) + (Pair "B" { "c" } True) ] + - location: 44 (just consumed gas: 0.010) + [ (Pair "B" { "c" } True) + (Pair "B" { "c" } True) + (Pair "B" { "c" } True) ] + - location: 45 (just consumed gas: 0.010) + [ "B" + (Pair "B" { "c" } True) + (Pair "B" { "c" } True) ] + - location: 46 (just consumed gas: 0) + [ (Pair "B" { "c" } True) + (Pair "B" { "c" } True) ] + - location: 49 (just consumed gas: 0.010) + [ (Pair { "c" } True) + (Pair "B" { "c" } True) ] + - location: 50 (just consumed gas: 0.010) + [ { "c" } + (Pair "B" { "c" } True) ] + - location: 51 (just consumed gas: 0) + [ (Pair "B" { "c" } True) ] + - location: 54 (just consumed gas: 0.010) + [ (Pair { "c" } True) ] + - location: 55 (just consumed gas: 0.010) + [ True ] + - location: 51 (just consumed gas: 0.025) + [ { "c" } + True ] + - location: 56 (just consumed gas: 0.010) + [ { "c" } + { "c" } + True ] + - location: 46 (just consumed gas: 0.025) + [ "B" + { "c" } + { "c" } + True ] + - location: 57 (just consumed gas: 0.117) + [ False + { "c" } + True ] + - location: 58 (just consumed gas: 0) + [ { "c" } + True ] + - location: 60 (just consumed gas: 0.010) + [ True + { "c" } ] + - location: 58 (just consumed gas: 0.025) + [ False + True + { "c" } ] + - location: 61 (just consumed gas: 0.010) + [ False + { "c" } ] + - location: 62 (just consumed gas: 0.010) + [ { "c" } + False ] + - location: 63 (just consumed gas: 0.010) + [ (Pair { "c" } False) ] + - location: 40 (just consumed gas: 0.015) + [ (Pair { "c" } False) ] + - location: 64 (just consumed gas: 0.010) + [ False ] + - location: 65 (just consumed gas: 0.010) + [ (Some False) ] + - location: 66 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 68 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contract--storage125992234--input117475800-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contract--storage125992234--input117475800-.out new file mode 100644 index 000000000000..e0f7c8bc822d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -contract--storage125992234--input117475800-.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/contract.tz on storage Unit and input '"tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"' --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 12.110) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" Unit) ] + - location: 7 (just consumed gas: 0.010) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 8 (just consumed gas: 0.310) + [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 11 (just consumed gas: 0) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 11 (just consumed gas: 0.015) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 17 (just consumed gas: 0.010) + [ ] + - location: 18 (just consumed gas: 0.010) + [ Unit ] + - location: 19 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -create_contract--storage921624073--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -create_contract--storage921624073--input125992234-.out new file mode 100644 index 000000000000..39a35a857b72 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -create_contract--storage921624073--input125992234-.out @@ -0,0 +1,49 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/create_contract.tz on storage None and input Unit --level 1 --trace-stack +storage + (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") +emitted operations + Internal Origination: + From: KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi + Credit: ꜩ0.05 + Script: + { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } + Initial storage: Unit + No delegate for this contract +big_map diff + +trace + - location: 8 (just consumed gas: 12.061) + [ (Pair Unit None) ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.010) + [ Unit ] + - location: 10 (just consumed gas: 0.010) + [ 50000 + Unit ] + - location: 11 (just consumed gas: 0.010) + [ None + 50000 + Unit ] + - location: 13 (just consumed gas: 0.716) + [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b + "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ] + - location: 25 (just consumed gas: 0) + [ "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm" ] + - location: 27 (just consumed gas: 0.010) + [ (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] + - location: 28 (just consumed gas: 0.010) + [ {} + (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] + - location: 25 (just consumed gas: 0.025) + [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b + {} + (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] + - location: 30 (just consumed gas: 0.010) + [ { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } + (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm") ] + - location: 31 (just consumed gas: 0.010) + [ (Pair { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000002d08603000000001c02000000170500036c0501036c050202000000080317053d036d034200000002030b } + (Some "KT1Mjjcb6tmSsLm7Cb3DSQszePjfchPM4Uxm")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1011138251-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1011138251-.out new file mode 100644 index 000000000000..3a39261e06da --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1011138251-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/diff_timestamps.tz on storage 111 and input '(Pair 0 0)' --level 1 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 7.437) + [ (Pair (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") 111) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") + (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") ] + - location: 11 (just consumed gas: 0.010) + [ "1970-01-01T00:00:00Z" + (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") ] + - location: 12 (just consumed gas: 0) + [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:00Z") ] + - location: 14 (just consumed gas: 0.010) + [ "1970-01-01T00:00:00Z" ] + - location: 12 (just consumed gas: 0.025) + [ "1970-01-01T00:00:00Z" + "1970-01-01T00:00:00Z" ] + - location: 15 (just consumed gas: 0.035) + [ 0 ] + - location: 16 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1018564342-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1018564342-.out new file mode 100644 index 000000000000..2f7387092370 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1018564342-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/diff_timestamps.tz on storage 111 and input '(Pair 0 1)' --level 1 --trace-stack +storage + -1 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 7.437) + [ (Pair (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") 111) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") + (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") ] + - location: 11 (just consumed gas: 0.010) + [ "1970-01-01T00:00:00Z" + (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") ] + - location: 12 (just consumed gas: 0) + [ (Pair "1970-01-01T00:00:00Z" "1970-01-01T00:00:01Z") ] + - location: 14 (just consumed gas: 0.010) + [ "1970-01-01T00:00:01Z" ] + - location: 12 (just consumed gas: 0.025) + [ "1970-01-01T00:00:00Z" + "1970-01-01T00:00:01Z" ] + - location: 15 (just consumed gas: 0.035) + [ -1 ] + - location: 16 (just consumed gas: 0.010) + [ {} + -1 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} -1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1031049988-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1031049988-.out new file mode 100644 index 000000000000..3166b380ba04 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input1031049988-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/diff_timestamps.tz on storage 111 and input '(Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z")' --level 1 --trace-stack +storage + 200 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 7.653) + [ (Pair (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") 111) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") + (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") ] + - location: 11 (just consumed gas: 0.010) + [ "1970-01-01T00:03:20Z" + (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") ] + - location: 12 (just consumed gas: 0) + [ (Pair "1970-01-01T00:03:20Z" "1970-01-01T00:00:00Z") ] + - location: 14 (just consumed gas: 0.010) + [ "1970-01-01T00:00:00Z" ] + - location: 12 (just consumed gas: 0.025) + [ "1970-01-01T00:03:20Z" + "1970-01-01T00:00:00Z" ] + - location: 15 (just consumed gas: 0.035) + [ 200 ] + - location: 16 (just consumed gas: 0.010) + [ {} + 200 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} 200) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input685590443-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input685590443-.out new file mode 100644 index 000000000000..6412a76e52c2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -diff_timestamps--storage492856247--input685590443-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/diff_timestamps.tz on storage 111 and input '(Pair 1 0)' --level 1 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 7.437) + [ (Pair (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") 111) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") + (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") ] + - location: 11 (just consumed gas: 0.010) + [ "1970-01-01T00:00:01Z" + (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") ] + - location: 12 (just consumed gas: 0) + [ (Pair "1970-01-01T00:00:01Z" "1970-01-01T00:00:00Z") ] + - location: 14 (just consumed gas: 0.010) + [ "1970-01-01T00:00:00Z" ] + - location: 12 (just consumed gas: 0.025) + [ "1970-01-01T00:00:01Z" + "1970-01-01T00:00:00Z" ] + - location: 15 (just consumed gas: 0.035) + [ 1 ] + - location: 16 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dig_eq--storage125992234--input246866101-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dig_eq--storage125992234--input246866101-.out new file mode 100644 index 000000000000..a516f69475d1 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dig_eq--storage125992234--input246866101-.out @@ -0,0 +1,3431 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/dig_eq.tz on storage Unit and input '(Pair 17 (Pair 16 (Pair 15 (Pair 14 (Pair 13 (Pair 12 (Pair 11 (Pair 10 (Pair 9 (Pair 8 (Pair 7 (Pair 6 (Pair 5 (Pair 4 (Pair 3 (Pair 2 1))))))))))))))))' --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 24 (just consumed gas: 159.743) + [ (Pair (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) Unit) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 27 (just consumed gas: 0.010) + [ 17 + (Pair 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 28 (just consumed gas: 0) + [ (Pair 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 30 (just consumed gas: 0.010) + [ 16 + (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 28 (just consumed gas: 0.025) + [ 17 + 16 + (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 31 (just consumed gas: 0) + [ (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 34 (just consumed gas: 0.010) + [ 15 + (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 31 (just consumed gas: 0.025) + [ 16 + 15 + (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 31 (just consumed gas: 0.010) + [ 17 + 16 + 15 + (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 31 (just consumed gas: 0) + [ 17 + 16 + 15 + (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 35 (just consumed gas: 0) + [ (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 38 (just consumed gas: 0.010) + [ 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 35 (just consumed gas: 0.025) + [ 15 + 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 35 (just consumed gas: 0.010) + [ 16 + 15 + 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 35 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 35 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 39 (just consumed gas: 0) + [ (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 42 (just consumed gas: 0.010) + [ 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 39 (just consumed gas: 0.025) + [ 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 39 (just consumed gas: 0.010) + [ 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 39 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 39 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 39 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 43 (just consumed gas: 0) + [ (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 46 (just consumed gas: 0.010) + [ 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 43 (just consumed gas: 0.025) + [ 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 43 (just consumed gas: 0.010) + [ 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 43 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 43 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 43 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 43 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 47 (just consumed gas: 0) + [ (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 50 (just consumed gas: 0.010) + [ 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 47 (just consumed gas: 0.025) + [ 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 47 (just consumed gas: 0.010) + [ 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 47 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 47 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 47 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 47 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 47 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 51 (just consumed gas: 0) + [ (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 54 (just consumed gas: 0.010) + [ 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 51 (just consumed gas: 0.025) + [ 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 51 (just consumed gas: 0.010) + [ 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 51 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 51 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 51 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 51 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 51 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 51 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0) + [ (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 58 (just consumed gas: 0.010) + [ 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0.025) + [ 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0.010) + [ 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 55 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0) + [ (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 62 (just consumed gas: 0.010) + [ 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0.025) + [ 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0.010) + [ 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 59 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0) + [ (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 66 (just consumed gas: 0.010) + [ 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.025) + [ 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.010) + [ 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 63 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0) + [ (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 70 (just consumed gas: 0.010) + [ 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.025) + [ 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 67 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0) + [ (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 74 (just consumed gas: 0.010) + [ 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.025) + [ 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 71 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0) + [ (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 78 (just consumed gas: 0.010) + [ 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.025) + [ 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 75 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0) + [ (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 82 (just consumed gas: 0.010) + [ 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.025) + [ 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 79 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0) + [ (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 86 (just consumed gas: 0.010) + [ 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.025) + [ 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 83 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 87 (just consumed gas: 0.030) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 89 (just consumed gas: 0.036) + [ 16 + 17 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 91 (just consumed gas: 0.043) + [ 15 + 16 + 17 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 93 (just consumed gas: 0.049) + [ 14 + 15 + 16 + 17 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 95 (just consumed gas: 0.057) + [ 13 + 14 + 15 + 16 + 17 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 97 (just consumed gas: 0.063) + [ 12 + 13 + 14 + 15 + 16 + 17 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 99 (just consumed gas: 0.070) + [ 11 + 12 + 13 + 14 + 15 + 16 + 17 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 101 (just consumed gas: 0.076) + [ 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 103 (just consumed gas: 0.084) + [ 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 105 (just consumed gas: 0.090) + [ 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 107 (just consumed gas: 0.097) + [ 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 109 (just consumed gas: 0.103) + [ 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 111 (just consumed gas: 0.111) + [ 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 113 (just consumed gas: 0.117) + [ 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 115 (just consumed gas: 0.124) + [ 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 117 (just consumed gas: 0.130) + [ 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 119 (just consumed gas: 0.138) + [ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 121 (just consumed gas: 0.030) + [ 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 123 (just consumed gas: 0.036) + [ 2 + 1 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 125 (just consumed gas: 0.043) + [ 3 + 2 + 1 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 127 (just consumed gas: 0.049) + [ 4 + 3 + 2 + 1 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 129 (just consumed gas: 0.057) + [ 5 + 4 + 3 + 2 + 1 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 131 (just consumed gas: 0.063) + [ 6 + 5 + 4 + 3 + 2 + 1 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 133 (just consumed gas: 0.070) + [ 7 + 6 + 5 + 4 + 3 + 2 + 1 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 135 (just consumed gas: 0.076) + [ 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 137 (just consumed gas: 0.084) + [ 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 139 (just consumed gas: 0.090) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 141 (just consumed gas: 0.097) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 12 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 143 (just consumed gas: 0.103) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 13 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 145 (just consumed gas: 0.111) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 14 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 147 (just consumed gas: 0.117) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 15 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 149 (just consumed gas: 0.124) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 16 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 151 (just consumed gas: 0.130) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 17 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 153 (just consumed gas: 0.138) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0) + [ 2 + 1 + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 159 (just consumed gas: 0.010) + [ (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.025) + [ 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 156 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0) + [ 3 + (Pair 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 163 (just consumed gas: 0.010) + [ (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.025) + [ 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 160 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0) + [ 4 + (Pair 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 167 (just consumed gas: 0.010) + [ (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.025) + [ 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 164 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0) + [ 5 + (Pair 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 171 (just consumed gas: 0.010) + [ (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.025) + [ 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 168 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0) + [ 6 + (Pair 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 175 (just consumed gas: 0.010) + [ (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.025) + [ 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 172 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0) + [ 7 + (Pair 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 179 (just consumed gas: 0.010) + [ (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.025) + [ 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.010) + [ 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.010) + [ 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.010) + [ 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 176 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0) + [ 8 + (Pair 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 183 (just consumed gas: 0.010) + [ (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0.025) + [ 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0.010) + [ 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0.010) + [ 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0.010) + [ 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 180 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0) + [ 9 + (Pair 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 187 (just consumed gas: 0.010) + [ (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0.025) + [ 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0.010) + [ 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0.010) + [ 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0.010) + [ 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 184 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 188 (just consumed gas: 0) + [ 10 + (Pair 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 191 (just consumed gas: 0.010) + [ (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 188 (just consumed gas: 0.025) + [ 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 188 (just consumed gas: 0.010) + [ 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 188 (just consumed gas: 0.010) + [ 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 188 (just consumed gas: 0.010) + [ 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 188 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 188 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 188 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 188 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 192 (just consumed gas: 0) + [ 11 + (Pair 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 195 (just consumed gas: 0.010) + [ (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 192 (just consumed gas: 0.025) + [ 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 192 (just consumed gas: 0.010) + [ 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 192 (just consumed gas: 0.010) + [ 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 192 (just consumed gas: 0.010) + [ 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 192 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 192 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 192 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 196 (just consumed gas: 0) + [ 12 + (Pair 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 199 (just consumed gas: 0.010) + [ (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 196 (just consumed gas: 0.025) + [ 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 196 (just consumed gas: 0.010) + [ 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 196 (just consumed gas: 0.010) + [ 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 196 (just consumed gas: 0.010) + [ 16 + 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 196 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 196 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 200 (just consumed gas: 0) + [ 13 + (Pair 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 203 (just consumed gas: 0.010) + [ (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 200 (just consumed gas: 0.025) + [ 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 200 (just consumed gas: 0.010) + [ 15 + 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 200 (just consumed gas: 0.010) + [ 16 + 15 + 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 200 (just consumed gas: 0.010) + [ 17 + 16 + 15 + 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 200 (just consumed gas: 0) + [ 17 + 16 + 15 + 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 204 (just consumed gas: 0) + [ 14 + (Pair 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 207 (just consumed gas: 0.010) + [ (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 204 (just consumed gas: 0.025) + [ 15 + (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 204 (just consumed gas: 0.010) + [ 16 + 15 + (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 204 (just consumed gas: 0.010) + [ 17 + 16 + 15 + (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 204 (just consumed gas: 0) + [ 17 + 16 + 15 + (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 208 (just consumed gas: 0) + [ 15 + (Pair 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 211 (just consumed gas: 0.010) + [ (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 208 (just consumed gas: 0.025) + [ 16 + (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 208 (just consumed gas: 0.010) + [ 17 + 16 + (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 208 (just consumed gas: 0) + [ 17 + 16 + (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 212 (just consumed gas: 0) + [ 16 + (Pair 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 214 (just consumed gas: 0.010) + [ (Pair 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 212 (just consumed gas: 0.025) + [ 17 + (Pair 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 215 (just consumed gas: 0.010) + [ (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) + (Pair 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1) ] + - location: 218 (just consumed gas: 0.755) + [ 0 ] + - location: 219 (just consumed gas: 0.010) + [ True ] + - location: 220 (just consumed gas: 0) + [ ] + - location: 220 (just consumed gas: 0.015) + [ ] + - location: 226 (just consumed gas: 0.010) + [ Unit ] + - location: 227 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 229 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dig_eq--storage125992234--input26856104-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dig_eq--storage125992234--input26856104-.out new file mode 100644 index 000000000000..0234558127c2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dig_eq--storage125992234--input26856104-.out @@ -0,0 +1,3431 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/dig_eq.tz on storage Unit and input '(Pair 2 (Pair 3 (Pair 12 (Pair 16 (Pair 10 (Pair 14 (Pair 19 (Pair 9 (Pair 18 (Pair 6 (Pair 8 (Pair 11 (Pair 4 (Pair 13 (Pair 15 (Pair 5 1))))))))))))))))' --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 24 (just consumed gas: 159.743) + [ (Pair (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) Unit) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 27 (just consumed gas: 0.010) + [ 2 + (Pair 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 28 (just consumed gas: 0) + [ (Pair 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 30 (just consumed gas: 0.010) + [ 3 + (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 28 (just consumed gas: 0.025) + [ 2 + 3 + (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 31 (just consumed gas: 0) + [ (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 34 (just consumed gas: 0.010) + [ 12 + (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 31 (just consumed gas: 0.025) + [ 3 + 12 + (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 31 (just consumed gas: 0.010) + [ 2 + 3 + 12 + (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 31 (just consumed gas: 0) + [ 2 + 3 + 12 + (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 35 (just consumed gas: 0) + [ (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 38 (just consumed gas: 0.010) + [ 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 35 (just consumed gas: 0.025) + [ 12 + 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 35 (just consumed gas: 0.010) + [ 3 + 12 + 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 35 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 35 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 39 (just consumed gas: 0) + [ (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 42 (just consumed gas: 0.010) + [ 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 39 (just consumed gas: 0.025) + [ 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 39 (just consumed gas: 0.010) + [ 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 39 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 39 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 39 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 43 (just consumed gas: 0) + [ (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 46 (just consumed gas: 0.010) + [ 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 43 (just consumed gas: 0.025) + [ 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 43 (just consumed gas: 0.010) + [ 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 43 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 43 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 43 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 43 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 47 (just consumed gas: 0) + [ (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 50 (just consumed gas: 0.010) + [ 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 47 (just consumed gas: 0.025) + [ 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 47 (just consumed gas: 0.010) + [ 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 47 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 47 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 47 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 47 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 47 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 51 (just consumed gas: 0) + [ (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 54 (just consumed gas: 0.010) + [ 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 51 (just consumed gas: 0.025) + [ 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 51 (just consumed gas: 0.010) + [ 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 51 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 51 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 51 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 51 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 51 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 51 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0) + [ (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 58 (just consumed gas: 0.010) + [ 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0.025) + [ 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0.010) + [ 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 55 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0) + [ (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 62 (just consumed gas: 0.010) + [ 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0.025) + [ 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0.010) + [ 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 59 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0) + [ (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 66 (just consumed gas: 0.010) + [ 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.025) + [ 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.010) + [ 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 63 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0) + [ (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 70 (just consumed gas: 0.010) + [ 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.025) + [ 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 67 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0) + [ (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 74 (just consumed gas: 0.010) + [ 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.025) + [ 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 71 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0) + [ (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 78 (just consumed gas: 0.010) + [ 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.025) + [ 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 75 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0) + [ (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 82 (just consumed gas: 0.010) + [ 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.025) + [ 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 79 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0) + [ (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 86 (just consumed gas: 0.010) + [ 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.025) + [ 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 83 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 87 (just consumed gas: 0.030) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 89 (just consumed gas: 0.036) + [ 3 + 2 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 91 (just consumed gas: 0.043) + [ 12 + 3 + 2 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 93 (just consumed gas: 0.049) + [ 16 + 12 + 3 + 2 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 95 (just consumed gas: 0.057) + [ 10 + 16 + 12 + 3 + 2 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 97 (just consumed gas: 0.063) + [ 14 + 10 + 16 + 12 + 3 + 2 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 99 (just consumed gas: 0.070) + [ 19 + 14 + 10 + 16 + 12 + 3 + 2 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 101 (just consumed gas: 0.076) + [ 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 103 (just consumed gas: 0.084) + [ 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 105 (just consumed gas: 0.090) + [ 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 107 (just consumed gas: 0.097) + [ 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 109 (just consumed gas: 0.103) + [ 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 111 (just consumed gas: 0.111) + [ 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 113 (just consumed gas: 0.117) + [ 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 115 (just consumed gas: 0.124) + [ 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 117 (just consumed gas: 0.130) + [ 5 + 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 119 (just consumed gas: 0.138) + [ 1 + 5 + 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 121 (just consumed gas: 0.030) + [ 1 + 5 + 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 123 (just consumed gas: 0.036) + [ 5 + 1 + 15 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 125 (just consumed gas: 0.043) + [ 15 + 5 + 1 + 13 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 127 (just consumed gas: 0.049) + [ 13 + 15 + 5 + 1 + 4 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 129 (just consumed gas: 0.057) + [ 4 + 13 + 15 + 5 + 1 + 11 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 131 (just consumed gas: 0.063) + [ 11 + 4 + 13 + 15 + 5 + 1 + 8 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 133 (just consumed gas: 0.070) + [ 8 + 11 + 4 + 13 + 15 + 5 + 1 + 6 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 135 (just consumed gas: 0.076) + [ 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 18 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 137 (just consumed gas: 0.084) + [ 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 9 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 139 (just consumed gas: 0.090) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 19 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 141 (just consumed gas: 0.097) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 14 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 143 (just consumed gas: 0.103) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 10 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 145 (just consumed gas: 0.111) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 16 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 147 (just consumed gas: 0.117) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 12 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 149 (just consumed gas: 0.124) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 3 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 151 (just consumed gas: 0.130) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + 2 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 153 (just consumed gas: 0.138) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0) + [ 5 + 1 + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 159 (just consumed gas: 0.010) + [ (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.025) + [ 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 156 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0) + [ 15 + (Pair 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 163 (just consumed gas: 0.010) + [ (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.025) + [ 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 160 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0) + [ 13 + (Pair 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 167 (just consumed gas: 0.010) + [ (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.025) + [ 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 164 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0) + [ 4 + (Pair 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 171 (just consumed gas: 0.010) + [ (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.025) + [ 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 168 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0) + [ 11 + (Pair 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 175 (just consumed gas: 0.010) + [ (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.025) + [ 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 172 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0) + [ 8 + (Pair 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 179 (just consumed gas: 0.010) + [ (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.025) + [ 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.010) + [ 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.010) + [ 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.010) + [ 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 176 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0) + [ 6 + (Pair 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 183 (just consumed gas: 0.010) + [ (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0.025) + [ 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0.010) + [ 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0.010) + [ 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0.010) + [ 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 180 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0) + [ 18 + (Pair 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 187 (just consumed gas: 0.010) + [ (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0.025) + [ 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0.010) + [ 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0.010) + [ 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0.010) + [ 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 184 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 188 (just consumed gas: 0) + [ 9 + (Pair 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 191 (just consumed gas: 0.010) + [ (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 188 (just consumed gas: 0.025) + [ 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 188 (just consumed gas: 0.010) + [ 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 188 (just consumed gas: 0.010) + [ 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 188 (just consumed gas: 0.010) + [ 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 188 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 188 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 188 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 188 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 192 (just consumed gas: 0) + [ 19 + (Pair 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 195 (just consumed gas: 0.010) + [ (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 192 (just consumed gas: 0.025) + [ 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 192 (just consumed gas: 0.010) + [ 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 192 (just consumed gas: 0.010) + [ 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 192 (just consumed gas: 0.010) + [ 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 192 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 192 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 192 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 196 (just consumed gas: 0) + [ 14 + (Pair 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 199 (just consumed gas: 0.010) + [ (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 196 (just consumed gas: 0.025) + [ 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 196 (just consumed gas: 0.010) + [ 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 196 (just consumed gas: 0.010) + [ 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 196 (just consumed gas: 0.010) + [ 3 + 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 196 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 196 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 200 (just consumed gas: 0) + [ 10 + (Pair 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 203 (just consumed gas: 0.010) + [ (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 200 (just consumed gas: 0.025) + [ 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 200 (just consumed gas: 0.010) + [ 12 + 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 200 (just consumed gas: 0.010) + [ 3 + 12 + 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 200 (just consumed gas: 0.010) + [ 2 + 3 + 12 + 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 200 (just consumed gas: 0) + [ 2 + 3 + 12 + 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 204 (just consumed gas: 0) + [ 16 + (Pair 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 207 (just consumed gas: 0.010) + [ (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 204 (just consumed gas: 0.025) + [ 12 + (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 204 (just consumed gas: 0.010) + [ 3 + 12 + (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 204 (just consumed gas: 0.010) + [ 2 + 3 + 12 + (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 204 (just consumed gas: 0) + [ 2 + 3 + 12 + (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 208 (just consumed gas: 0) + [ 12 + (Pair 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 211 (just consumed gas: 0.010) + [ (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 208 (just consumed gas: 0.025) + [ 3 + (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 208 (just consumed gas: 0.010) + [ 2 + 3 + (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 208 (just consumed gas: 0) + [ 2 + 3 + (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 212 (just consumed gas: 0) + [ 3 + (Pair 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 214 (just consumed gas: 0.010) + [ (Pair 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 212 (just consumed gas: 0.025) + [ 2 + (Pair 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 215 (just consumed gas: 0.010) + [ (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) + (Pair 2 3 12 16 10 14 19 9 18 6 8 11 4 13 15 5 1) ] + - location: 218 (just consumed gas: 0.755) + [ 0 ] + - location: 219 (just consumed gas: 0.010) + [ True ] + - location: 220 (just consumed gas: 0) + [ ] + - location: 220 (just consumed gas: 0.015) + [ ] + - location: 226 (just consumed gas: 0.010) + [ Unit ] + - location: 227 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 229 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dign--storage680650890--input529388602-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dign--storage680650890--input529388602-.out new file mode 100644 index 000000000000..af61506bce8a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dign--storage680650890--input529388602-.out @@ -0,0 +1,61 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/dign.tz on storage 0 and input '(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)' --level 1 --trace-stack +storage + 5 +emitted operations + +big_map diff + +trace + - location: 15 (just consumed gas: 11.955) + [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair (Pair (Pair 1 2) 3) 4) + 5 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair (Pair 1 2) 3) + 4 + 5 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair 1 2) + 3 + 4 + 5 ] + - location: 19 (just consumed gas: 0.010) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 20 (just consumed gas: 0.057) + [ 5 + 1 + 2 + 3 + 4 ] + - location: 22 (just consumed gas: 0) + [ 1 + 2 + 3 + 4 ] + - location: 24 (just consumed gas: 0.010) + [ 2 + 3 + 4 ] + - location: 25 (just consumed gas: 0.010) + [ 3 + 4 ] + - location: 26 (just consumed gas: 0.010) + [ 4 ] + - location: 27 (just consumed gas: 0.010) + [ ] + - location: 22 (just consumed gas: 0.025) + [ 5 ] + - location: 28 (just consumed gas: 0.010) + [ {} + 5 ] + - location: 30 (just consumed gas: 0.010) + [ (Pair {} 5) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dip--storage1011138251--input590117173-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dip--storage1011138251--input590117173-.out new file mode 100644 index 000000000000..442903720ea9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dip--storage1011138251--input590117173-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/dip.tz on storage '(Pair 0 0)' and input '(Pair 1 1)' --level 1 --trace-stack +storage + (Pair 1 2) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 7.912) + [ (Pair (Pair 1 1) 0 0) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair 1 1) ] + - location: 12 (just consumed gas: 0.010) + [ 1 + 1 ] + - location: 13 (just consumed gas: 0.010) + [ 1 + 1 + 1 ] + - location: 14 (just consumed gas: 0) + [ 1 + 1 ] + - location: 16 (just consumed gas: 0.035) + [ 2 ] + - location: 14 (just consumed gas: 0.025) + [ 1 + 2 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair 1 2) ] + - location: 18 (just consumed gas: 0.010) + [ {} + (Pair 1 2) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} 1 2) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dip--storage1011138251--input850887554-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dip--storage1011138251--input850887554-.out new file mode 100644 index 000000000000..ce8fef13cb06 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dip--storage1011138251--input850887554-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/dip.tz on storage '(Pair 0 0)' and input '(Pair 15 9)' --level 1 --trace-stack +storage + (Pair 15 24) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 7.912) + [ (Pair (Pair 15 9) 0 0) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair 15 9) ] + - location: 12 (just consumed gas: 0.010) + [ 15 + 9 ] + - location: 13 (just consumed gas: 0.010) + [ 15 + 15 + 9 ] + - location: 14 (just consumed gas: 0) + [ 15 + 9 ] + - location: 16 (just consumed gas: 0.035) + [ 24 ] + - location: 14 (just consumed gas: 0.025) + [ 15 + 24 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair 15 24) ] + - location: 18 (just consumed gas: 0.010) + [ {} + (Pair 15 24) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} 15 24) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dipn--storage680650890--input529388602-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dipn--storage680650890--input529388602-.out new file mode 100644 index 000000000000..1a54f0379325 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dipn--storage680650890--input529388602-.out @@ -0,0 +1,93 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/dipn.tz on storage 0 and input '(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)' --level 1 --trace-stack +storage + 6 +emitted operations + +big_map diff + +trace + - location: 15 (just consumed gas: 13.205) + [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair (Pair (Pair 1 2) 3) 4) + 5 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair (Pair 1 2) 3) + 4 + 5 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair 1 2) + 3 + 4 + 5 ] + - location: 19 (just consumed gas: 0.010) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 20 (just consumed gas: 0) + [ ] + - location: 23 (just consumed gas: 0.010) + [ 6 ] + - location: 20 (just consumed gas: 0.025) + [ 5 + 6 ] + - location: 20 (just consumed gas: 0.010) + [ 4 + 5 + 6 ] + - location: 20 (just consumed gas: 0.010) + [ 3 + 4 + 5 + 6 ] + - location: 20 (just consumed gas: 0.010) + [ 2 + 3 + 4 + 5 + 6 ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 2 + 3 + 4 + 5 + 6 ] + - location: 20 (just consumed gas: 0) + [ 1 + 2 + 3 + 4 + 5 + 6 ] + - location: 26 (just consumed gas: 0.010) + [ 2 + 3 + 4 + 5 + 6 ] + - location: 27 (just consumed gas: 0.010) + [ 3 + 4 + 5 + 6 ] + - location: 28 (just consumed gas: 0.010) + [ 4 + 5 + 6 ] + - location: 29 (just consumed gas: 0.010) + [ 5 + 6 ] + - location: 30 (just consumed gas: 0.010) + [ 6 ] + - location: 31 (just consumed gas: 0.010) + [ {} + 6 ] + - location: 33 (just consumed gas: 0.010) + [ (Pair {} 6) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dropn--storage680650890--input529388602-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dropn--storage680650890--input529388602-.out new file mode 100644 index 000000000000..260ec9ebfe6c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dropn--storage680650890--input529388602-.out @@ -0,0 +1,39 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/dropn.tz on storage 0 and input '(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)' --level 1 --trace-stack +storage + 5 +emitted operations + +big_map diff + +trace + - location: 15 (just consumed gas: 9.048) + [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair (Pair (Pair 1 2) 3) 4) + 5 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair (Pair 1 2) 3) + 4 + 5 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair 1 2) + 3 + 4 + 5 ] + - location: 19 (just consumed gas: 0.010) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 20 (just consumed gas: 0.040) + [ 5 ] + - location: 22 (just consumed gas: 0.010) + [ {} + 5 ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} 5) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dugn--storage680650890--input529388602-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dugn--storage680650890--input529388602-.out new file mode 100644 index 000000000000..120bc293ac56 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dugn--storage680650890--input529388602-.out @@ -0,0 +1,57 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/dugn.tz on storage 0 and input '(Pair (Pair (Pair (Pair 1 2) 3) 4) 5)' --level 1 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 15 (just consumed gas: 11.279) + [ (Pair (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) 0) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair (Pair (Pair (Pair 1 2) 3) 4) 5) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair (Pair (Pair 1 2) 3) 4) + 5 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair (Pair 1 2) 3) + 4 + 5 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair 1 2) + 3 + 4 + 5 ] + - location: 19 (just consumed gas: 0.010) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 20 (just consumed gas: 0.062) + [ 2 + 3 + 4 + 5 + 1 ] + - location: 22 (just consumed gas: 0.010) + [ 3 + 4 + 5 + 1 ] + - location: 23 (just consumed gas: 0.010) + [ 4 + 5 + 1 ] + - location: 24 (just consumed gas: 0.010) + [ 5 + 1 ] + - location: 25 (just consumed gas: 0.010) + [ 1 ] + - location: 26 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 28 (just consumed gas: 0.010) + [ (Pair {} 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dup-n--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dup-n--storage125992234--input125992234-.out new file mode 100644 index 000000000000..c8aaac64505a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -dup-n--storage125992234--input125992234-.out @@ -0,0 +1,248 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/dup-n.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 42.228) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 5 ] + - location: 11 (just consumed gas: 0.010) + [ 4 + 5 ] + - location: 14 (just consumed gas: 0.010) + [ 3 + 4 + 5 ] + - location: 17 (just consumed gas: 0.010) + [ 2 + 3 + 4 + 5 ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 23 (just consumed gas: 0.021) + [ 1 + 1 + 2 + 3 + 4 + 5 ] + - location: 25 (just consumed gas: 0.010) + [ 1 + 1 + 1 + 2 + 3 + 4 + 5 ] + - location: 30 (just consumed gas: 0.035) + [ 0 + 1 + 2 + 3 + 4 + 5 ] + - location: 31 (just consumed gas: 0.010) + [ True + 1 + 2 + 3 + 4 + 5 ] + - location: 32 (just consumed gas: 0) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 32 (just consumed gas: 0.015) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 38 (just consumed gas: 0.022) + [ 2 + 1 + 2 + 3 + 4 + 5 ] + - location: 40 (just consumed gas: 0.010) + [ 2 + 2 + 1 + 2 + 3 + 4 + 5 ] + - location: 45 (just consumed gas: 0.035) + [ 0 + 1 + 2 + 3 + 4 + 5 ] + - location: 46 (just consumed gas: 0.010) + [ True + 1 + 2 + 3 + 4 + 5 ] + - location: 47 (just consumed gas: 0) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 47 (just consumed gas: 0.015) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 53 (just consumed gas: 0.023) + [ 3 + 1 + 2 + 3 + 4 + 5 ] + - location: 55 (just consumed gas: 0.010) + [ 3 + 3 + 1 + 2 + 3 + 4 + 5 ] + - location: 60 (just consumed gas: 0.035) + [ 0 + 1 + 2 + 3 + 4 + 5 ] + - location: 61 (just consumed gas: 0.010) + [ True + 1 + 2 + 3 + 4 + 5 ] + - location: 62 (just consumed gas: 0) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 62 (just consumed gas: 0.015) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 68 (just consumed gas: 0.025) + [ 4 + 1 + 2 + 3 + 4 + 5 ] + - location: 70 (just consumed gas: 0.010) + [ 4 + 4 + 1 + 2 + 3 + 4 + 5 ] + - location: 75 (just consumed gas: 0.035) + [ 0 + 1 + 2 + 3 + 4 + 5 ] + - location: 76 (just consumed gas: 0.010) + [ True + 1 + 2 + 3 + 4 + 5 ] + - location: 77 (just consumed gas: 0) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 77 (just consumed gas: 0.015) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 83 (just consumed gas: 0.026) + [ 5 + 1 + 2 + 3 + 4 + 5 ] + - location: 85 (just consumed gas: 0.010) + [ 5 + 5 + 1 + 2 + 3 + 4 + 5 ] + - location: 90 (just consumed gas: 0.035) + [ 0 + 1 + 2 + 3 + 4 + 5 ] + - location: 91 (just consumed gas: 0.010) + [ True + 1 + 2 + 3 + 4 + 5 ] + - location: 92 (just consumed gas: 0) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 92 (just consumed gas: 0.015) + [ 1 + 2 + 3 + 4 + 5 ] + - location: 98 (just consumed gas: 0.042) + [ ] + - location: 100 (just consumed gas: 0.010) + [ Unit ] + - location: 101 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 103 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input247451205-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input247451205-.out new file mode 100644 index 000000000000..703734bd4e2d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input247451205-.out @@ -0,0 +1,142 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv.tz on storage '(Pair None None None None)' and input '(Pair 10 0)' --level 1 --trace-stack +storage + (Pair None None None None) +emitted operations + +big_map diff + +trace + - location: 25 (just consumed gas: 25.562) + [ (Pair (Pair 10 0) None None None None) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair 10 0) ] + - location: 26 (just consumed gas: 0.010) + [ (Pair 10 0) + (Pair 10 0) ] + - location: 27 (just consumed gas: 0.010) + [ 10 + 0 + (Pair 10 0) ] + - location: 28 (just consumed gas: 0.020) + [ 10 + 0 + (Pair 10 0) ] + - location: 29 (just consumed gas: 0) + [ 0 + (Pair 10 0) ] + - location: 31 (just consumed gas: 0.020) + [ 0 + (Pair 10 0) ] + - location: 29 (just consumed gas: 0.025) + [ 10 + 0 + (Pair 10 0) ] + - location: 32 (just consumed gas: 0.105) + [ None + (Pair 10 0) ] + - location: 33 (just consumed gas: 0.010) + [ (Pair 10 0) + None ] + - location: 34 (just consumed gas: 0.010) + [ (Pair 10 0) + (Pair 10 0) + None ] + - location: 35 (just consumed gas: 0.010) + [ 10 + 0 + (Pair 10 0) + None ] + - location: 36 (just consumed gas: 0.020) + [ 10 + 0 + (Pair 10 0) + None ] + - location: 37 (just consumed gas: 0.105) + [ None + (Pair 10 0) + None ] + - location: 38 (just consumed gas: 0.010) + [ (Pair 10 0) + None + None ] + - location: 39 (just consumed gas: 0.010) + [ (Pair 10 0) + (Pair 10 0) + None + None ] + - location: 40 (just consumed gas: 0.010) + [ 10 + 0 + (Pair 10 0) + None + None ] + - location: 41 (just consumed gas: 0) + [ 0 + (Pair 10 0) + None + None ] + - location: 43 (just consumed gas: 0.020) + [ 0 + (Pair 10 0) + None + None ] + - location: 41 (just consumed gas: 0.025) + [ 10 + 0 + (Pair 10 0) + None + None ] + - location: 44 (just consumed gas: 0.105) + [ None + (Pair 10 0) + None + None ] + - location: 45 (just consumed gas: 0.010) + [ (Pair 10 0) + None + None + None ] + - location: 46 (just consumed gas: 0.010) + [ 10 + 0 + None + None + None ] + - location: 47 (just consumed gas: 0.105) + [ None + None + None + None ] + - location: 49 (just consumed gas: 0) + [ None + None ] + - location: 52 (just consumed gas: 0.010) + [ (Pair None None) ] + - location: 49 (just consumed gas: 0.025) + [ None + (Pair None None) ] + - location: 49 (just consumed gas: 0.010) + [ None + None + (Pair None None) ] + - location: 49 (just consumed gas: 0) + [ None + None + (Pair None None) ] + - location: 53 (just consumed gas: 0) + [ None + (Pair None None) ] + - location: 55 (just consumed gas: 0.010) + [ (Pair None None None) ] + - location: 53 (just consumed gas: 0.025) + [ None + (Pair None None None) ] + - location: 56 (just consumed gas: 0.010) + [ (Pair None None None None) ] + - location: 57 (just consumed gas: 0.010) + [ {} + (Pair None None None None) ] + - location: 59 (just consumed gas: 0.010) + [ (Pair {} None None None None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input250545589-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input250545589-.out new file mode 100644 index 000000000000..05f83de194e2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input250545589-.out @@ -0,0 +1,142 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv.tz on storage '(Pair None None None None)' and input '(Pair -8 2)' --level 1 --trace-stack +storage + (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) +emitted operations + +big_map diff + +trace + - location: 25 (just consumed gas: 25.562) + [ (Pair (Pair -8 2) None None None None) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair -8 2) ] + - location: 26 (just consumed gas: 0.010) + [ (Pair -8 2) + (Pair -8 2) ] + - location: 27 (just consumed gas: 0.010) + [ -8 + 2 + (Pair -8 2) ] + - location: 28 (just consumed gas: 0.020) + [ 8 + 2 + (Pair -8 2) ] + - location: 29 (just consumed gas: 0) + [ 2 + (Pair -8 2) ] + - location: 31 (just consumed gas: 0.020) + [ 2 + (Pair -8 2) ] + - location: 29 (just consumed gas: 0.025) + [ 8 + 2 + (Pair -8 2) ] + - location: 32 (just consumed gas: 0.105) + [ (Some (Pair 4 0)) + (Pair -8 2) ] + - location: 33 (just consumed gas: 0.010) + [ (Pair -8 2) + (Some (Pair 4 0)) ] + - location: 34 (just consumed gas: 0.010) + [ (Pair -8 2) + (Pair -8 2) + (Some (Pair 4 0)) ] + - location: 35 (just consumed gas: 0.010) + [ -8 + 2 + (Pair -8 2) + (Some (Pair 4 0)) ] + - location: 36 (just consumed gas: 0.020) + [ 8 + 2 + (Pair -8 2) + (Some (Pair 4 0)) ] + - location: 37 (just consumed gas: 0.105) + [ (Some (Pair 4 0)) + (Pair -8 2) + (Some (Pair 4 0)) ] + - location: 38 (just consumed gas: 0.010) + [ (Pair -8 2) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 39 (just consumed gas: 0.010) + [ (Pair -8 2) + (Pair -8 2) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 40 (just consumed gas: 0.010) + [ -8 + 2 + (Pair -8 2) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 41 (just consumed gas: 0) + [ 2 + (Pair -8 2) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 43 (just consumed gas: 0.020) + [ 2 + (Pair -8 2) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 41 (just consumed gas: 0.025) + [ -8 + 2 + (Pair -8 2) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 44 (just consumed gas: 0.105) + [ (Some (Pair -4 0)) + (Pair -8 2) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 45 (just consumed gas: 0.010) + [ (Pair -8 2) + (Some (Pair -4 0)) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 46 (just consumed gas: 0.010) + [ -8 + 2 + (Some (Pair -4 0)) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 47 (just consumed gas: 0.105) + [ (Some (Pair -4 0)) + (Some (Pair -4 0)) + (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 49 (just consumed gas: 0) + [ (Some (Pair 4 0)) + (Some (Pair 4 0)) ] + - location: 52 (just consumed gas: 0.010) + [ (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 49 (just consumed gas: 0.025) + [ (Some (Pair -4 0)) + (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 49 (just consumed gas: 0.010) + [ (Some (Pair -4 0)) + (Some (Pair -4 0)) + (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 49 (just consumed gas: 0) + [ (Some (Pair -4 0)) + (Some (Pair -4 0)) + (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 53 (just consumed gas: 0) + [ (Some (Pair -4 0)) + (Pair (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 55 (just consumed gas: 0.010) + [ (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 53 (just consumed gas: 0.025) + [ (Some (Pair -4 0)) + (Pair (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 56 (just consumed gas: 0.010) + [ (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 57 (just consumed gas: 0.010) + [ {} + (Pair (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] + - location: 59 (just consumed gas: 0.010) + [ (Pair {} (Some (Pair -4 0)) (Some (Pair -4 0)) (Some (Pair 4 0)) (Some (Pair 4 0))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input79625541-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input79625541-.out new file mode 100644 index 000000000000..671993b9a0df --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv--storage994417987--input79625541-.out @@ -0,0 +1,142 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv.tz on storage '(Pair None None None None)' and input '(Pair 10 -3)' --level 1 --trace-stack +storage + (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) +emitted operations + +big_map diff + +trace + - location: 25 (just consumed gas: 25.562) + [ (Pair (Pair 10 -3) None None None None) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair 10 -3) ] + - location: 26 (just consumed gas: 0.010) + [ (Pair 10 -3) + (Pair 10 -3) ] + - location: 27 (just consumed gas: 0.010) + [ 10 + -3 + (Pair 10 -3) ] + - location: 28 (just consumed gas: 0.020) + [ 10 + -3 + (Pair 10 -3) ] + - location: 29 (just consumed gas: 0) + [ -3 + (Pair 10 -3) ] + - location: 31 (just consumed gas: 0.020) + [ 3 + (Pair 10 -3) ] + - location: 29 (just consumed gas: 0.025) + [ 10 + 3 + (Pair 10 -3) ] + - location: 32 (just consumed gas: 0.105) + [ (Some (Pair 3 1)) + (Pair 10 -3) ] + - location: 33 (just consumed gas: 0.010) + [ (Pair 10 -3) + (Some (Pair 3 1)) ] + - location: 34 (just consumed gas: 0.010) + [ (Pair 10 -3) + (Pair 10 -3) + (Some (Pair 3 1)) ] + - location: 35 (just consumed gas: 0.010) + [ 10 + -3 + (Pair 10 -3) + (Some (Pair 3 1)) ] + - location: 36 (just consumed gas: 0.020) + [ 10 + -3 + (Pair 10 -3) + (Some (Pair 3 1)) ] + - location: 37 (just consumed gas: 0.105) + [ (Some (Pair -3 1)) + (Pair 10 -3) + (Some (Pair 3 1)) ] + - location: 38 (just consumed gas: 0.010) + [ (Pair 10 -3) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 39 (just consumed gas: 0.010) + [ (Pair 10 -3) + (Pair 10 -3) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 40 (just consumed gas: 0.010) + [ 10 + -3 + (Pair 10 -3) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 41 (just consumed gas: 0) + [ -3 + (Pair 10 -3) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 43 (just consumed gas: 0.020) + [ 3 + (Pair 10 -3) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 41 (just consumed gas: 0.025) + [ 10 + 3 + (Pair 10 -3) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 44 (just consumed gas: 0.105) + [ (Some (Pair 3 1)) + (Pair 10 -3) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 45 (just consumed gas: 0.010) + [ (Pair 10 -3) + (Some (Pair 3 1)) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 46 (just consumed gas: 0.010) + [ 10 + -3 + (Some (Pair 3 1)) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 47 (just consumed gas: 0.105) + [ (Some (Pair -3 1)) + (Some (Pair 3 1)) + (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 49 (just consumed gas: 0) + [ (Some (Pair -3 1)) + (Some (Pair 3 1)) ] + - location: 52 (just consumed gas: 0.010) + [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 49 (just consumed gas: 0.025) + [ (Some (Pair 3 1)) + (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 49 (just consumed gas: 0.010) + [ (Some (Pair -3 1)) + (Some (Pair 3 1)) + (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 49 (just consumed gas: 0) + [ (Some (Pair -3 1)) + (Some (Pair 3 1)) + (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 53 (just consumed gas: 0) + [ (Some (Pair 3 1)) + (Pair (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 55 (just consumed gas: 0.010) + [ (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 53 (just consumed gas: 0.025) + [ (Some (Pair -3 1)) + (Pair (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 56 (just consumed gas: 0.010) + [ (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 57 (just consumed gas: 0.010) + [ {} + (Pair (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] + - location: 59 (just consumed gas: 0.010) + [ (Pair {} (Some (Pair -3 1)) (Some (Pair 3 1)) (Some (Pair -3 1)) (Some (Pair 3 1))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input147133089-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input147133089-.out new file mode 100644 index 000000000000..338b86ace79b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input147133089-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv_mutez.tz on storage '(Left None)' and input '(Pair 10 (Right 0))' --level 1 --trace-stack +storage + (Right None) +emitted operations + +big_map diff + +trace + - location: 19 (just consumed gas: 14.009) + [ (Pair (Pair 10 (Right 0)) (Left None)) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 10 (Right 0)) ] + - location: 20 (just consumed gas: 0.010) + [ 10 + (Right 0) ] + - location: 21 (just consumed gas: 0.010) + [ (Right 0) + 10 ] + - location: 22 (just consumed gas: 0) + [ 0 + 10 ] + - location: 32 (just consumed gas: 0.010) + [ 10 + 0 ] + - location: 33 (just consumed gas: 0.070) + [ None ] + - location: 34 (just consumed gas: 0.010) + [ (Right None) ] + - location: 22 (just consumed gas: 0.015) + [ (Right None) ] + - location: 39 (just consumed gas: 0.010) + [ {} + (Right None) ] + - location: 41 (just consumed gas: 0.010) + [ (Pair {} (Right None)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input215785357-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input215785357-.out new file mode 100644 index 000000000000..d6f00d632f19 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input215785357-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv_mutez.tz on storage '(Left None)' and input '(Pair 10 (Right 3))' --level 1 --trace-stack +storage + (Right (Some (Pair 3 1))) +emitted operations + +big_map diff + +trace + - location: 19 (just consumed gas: 14.009) + [ (Pair (Pair 10 (Right 3)) (Left None)) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 10 (Right 3)) ] + - location: 20 (just consumed gas: 0.010) + [ 10 + (Right 3) ] + - location: 21 (just consumed gas: 0.010) + [ (Right 3) + 10 ] + - location: 22 (just consumed gas: 0) + [ 3 + 10 ] + - location: 32 (just consumed gas: 0.010) + [ 10 + 3 ] + - location: 33 (just consumed gas: 0.070) + [ (Some (Pair 3 1)) ] + - location: 34 (just consumed gas: 0.010) + [ (Right (Some (Pair 3 1))) ] + - location: 22 (just consumed gas: 0.015) + [ (Right (Some (Pair 3 1))) ] + - location: 39 (just consumed gas: 0.010) + [ {} + (Right (Some (Pair 3 1))) ] + - location: 41 (just consumed gas: 0.010) + [ (Pair {} (Right (Some (Pair 3 1)))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input389351431-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input389351431-.out new file mode 100644 index 000000000000..dc26b58d3acf --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input389351431-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv_mutez.tz on storage '(Left None)' and input '(Pair 10 (Left 10))' --level 1 --trace-stack +storage + (Left (Some (Pair 1 0))) +emitted operations + +big_map diff + +trace + - location: 19 (just consumed gas: 14.009) + [ (Pair (Pair 10 (Left 10)) (Left None)) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 10 (Left 10)) ] + - location: 20 (just consumed gas: 0.010) + [ 10 + (Left 10) ] + - location: 21 (just consumed gas: 0.010) + [ (Left 10) + 10 ] + - location: 22 (just consumed gas: 0) + [ 10 + 10 ] + - location: 24 (just consumed gas: 0.010) + [ 10 + 10 ] + - location: 25 (just consumed gas: 0.080) + [ (Some (Pair 1 0)) ] + - location: 26 (just consumed gas: 0.010) + [ (Left (Some (Pair 1 0))) ] + - location: 22 (just consumed gas: 0.015) + [ (Left (Some (Pair 1 0))) ] + - location: 39 (just consumed gas: 0.010) + [ {} + (Left (Some (Pair 1 0))) ] + - location: 41 (just consumed gas: 0.010) + [ (Pair {} (Left (Some (Pair 1 0)))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input44513000-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input44513000-.out new file mode 100644 index 000000000000..3d395d8a8e72 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input44513000-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv_mutez.tz on storage '(Left None)' and input '(Pair 10 (Left 0))' --level 1 --trace-stack +storage + (Left None) +emitted operations + +big_map diff + +trace + - location: 19 (just consumed gas: 14.009) + [ (Pair (Pair 10 (Left 0)) (Left None)) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 10 (Left 0)) ] + - location: 20 (just consumed gas: 0.010) + [ 10 + (Left 0) ] + - location: 21 (just consumed gas: 0.010) + [ (Left 0) + 10 ] + - location: 22 (just consumed gas: 0) + [ 0 + 10 ] + - location: 24 (just consumed gas: 0.010) + [ 10 + 0 ] + - location: 25 (just consumed gas: 0.080) + [ None ] + - location: 26 (just consumed gas: 0.010) + [ (Left None) ] + - location: 22 (just consumed gas: 0.015) + [ (Left None) ] + - location: 39 (just consumed gas: 0.010) + [ {} + (Left None) ] + - location: 41 (just consumed gas: 0.010) + [ (Pair {} (Left None)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input635398196-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input635398196-.out new file mode 100644 index 000000000000..b1ca6389c4ba --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input635398196-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv_mutez.tz on storage '(Left None)' and input '(Pair 10 (Left 3))' --level 1 --trace-stack +storage + (Left (Some (Pair 3 1))) +emitted operations + +big_map diff + +trace + - location: 19 (just consumed gas: 14.009) + [ (Pair (Pair 10 (Left 3)) (Left None)) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 10 (Left 3)) ] + - location: 20 (just consumed gas: 0.010) + [ 10 + (Left 3) ] + - location: 21 (just consumed gas: 0.010) + [ (Left 3) + 10 ] + - location: 22 (just consumed gas: 0) + [ 3 + 10 ] + - location: 24 (just consumed gas: 0.010) + [ 10 + 3 ] + - location: 25 (just consumed gas: 0.080) + [ (Some (Pair 3 1)) ] + - location: 26 (just consumed gas: 0.010) + [ (Left (Some (Pair 3 1))) ] + - location: 22 (just consumed gas: 0.015) + [ (Left (Some (Pair 3 1))) ] + - location: 39 (just consumed gas: 0.010) + [ {} + (Left (Some (Pair 3 1))) ] + - location: 41 (just consumed gas: 0.010) + [ (Pair {} (Left (Some (Pair 3 1)))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input734264738-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input734264738-.out new file mode 100644 index 000000000000..655259d64c0c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input734264738-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv_mutez.tz on storage '(Left None)' and input '(Pair 10 (Right 10))' --level 1 --trace-stack +storage + (Right (Some (Pair 1 0))) +emitted operations + +big_map diff + +trace + - location: 19 (just consumed gas: 14.009) + [ (Pair (Pair 10 (Right 10)) (Left None)) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 10 (Right 10)) ] + - location: 20 (just consumed gas: 0.010) + [ 10 + (Right 10) ] + - location: 21 (just consumed gas: 0.010) + [ (Right 10) + 10 ] + - location: 22 (just consumed gas: 0) + [ 10 + 10 ] + - location: 32 (just consumed gas: 0.010) + [ 10 + 10 ] + - location: 33 (just consumed gas: 0.070) + [ (Some (Pair 1 0)) ] + - location: 34 (just consumed gas: 0.010) + [ (Right (Some (Pair 1 0))) ] + - location: 22 (just consumed gas: 0.015) + [ (Right (Some (Pair 1 0))) ] + - location: 39 (just consumed gas: 0.010) + [ {} + (Right (Some (Pair 1 0))) ] + - location: 41 (just consumed gas: 0.010) + [ (Pair {} (Right (Some (Pair 1 0)))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input993071382-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input993071382-.out new file mode 100644 index 000000000000..8306c64b1232 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ediv_mutez--storage977883604--input993071382-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ediv_mutez.tz on storage '(Left None)' and input '(Pair 5 (Right 10))' --level 1 --trace-stack +storage + (Right (Some (Pair 0 5))) +emitted operations + +big_map diff + +trace + - location: 19 (just consumed gas: 14.009) + [ (Pair (Pair 5 (Right 10)) (Left None)) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 5 (Right 10)) ] + - location: 20 (just consumed gas: 0.010) + [ 5 + (Right 10) ] + - location: 21 (just consumed gas: 0.010) + [ (Right 10) + 5 ] + - location: 22 (just consumed gas: 0) + [ 10 + 5 ] + - location: 32 (just consumed gas: 0.010) + [ 5 + 10 ] + - location: 33 (just consumed gas: 0.070) + [ (Some (Pair 0 5)) ] + - location: 34 (just consumed gas: 0.010) + [ (Right (Some (Pair 0 5))) ] + - location: 22 (just consumed gas: 0.015) + [ (Right (Some (Pair 0 5))) ] + - location: 39 (just consumed gas: 0.010) + [ {} + (Right (Some (Pair 0 5))) ] + - location: 41 (just consumed gas: 0.010) + [ (Pair {} (Right (Some (Pair 0 5)))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -emit--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -emit--storage125992234--input125992234-.out new file mode 100644 index 000000000000..7688f15325fa --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -emit--storage125992234--input125992234-.out @@ -0,0 +1,72 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/emit.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + Internal Event: + From: KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi + Type: (or nat string) + Tag: event + Payload: (Left 10) + Internal Event: + From: KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi + Type: (or (nat %number) (string %words)) + Tag: event + Payload: (Right "lorem ipsum") +big_map diff + +trace + - location: 7 (just consumed gas: 13.135) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ Unit ] + - location: 9 (just consumed gas: 0.010) + [ 10 + Unit ] + - location: 12 (just consumed gas: 0.010) + [ (Left 10) + Unit ] + - location: 14 (just consumed gas: 0.487) + [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a + Unit ] + - location: 15 (just consumed gas: 0.010) + [ "lorem ipsum" + 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a + Unit ] + - location: 18 (just consumed gas: 0.010) + [ (Right "lorem ipsum") + 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a + Unit ] + - location: 20 (just consumed gas: 0.572) + [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe6000001040764046200000007256e756d62657204680000000625776f726473ffff056576656e74ff0508010000000b6c6f72656d20697073756d + 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a + Unit ] + - location: 24 (just consumed gas: 0.010) + [ {} + 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe6000001040764046200000007256e756d62657204680000000625776f726473ffff056576656e74ff0508010000000b6c6f72656d20697073756d + 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a + Unit ] + - location: 26 (just consumed gas: 0.010) + [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe6000001040764046200000007256e756d62657204680000000625776f726473ffff056576656e74ff0508010000000b6c6f72656d20697073756d + {} + 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a + Unit ] + - location: 27 (just consumed gas: 0.010) + [ { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe6000001040764046200000007256e756d62657204680000000625776f726473ffff056576656e74ff0508010000000b6c6f72656d20697073756d } + 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a + Unit ] + - location: 28 (just consumed gas: 0.010) + [ 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a + { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe6000001040764046200000007256e756d62657204680000000625776f726473ffff056576656e74ff0508010000000b6c6f72656d20697073756d } + Unit ] + - location: 29 (just consumed gas: 0.010) + [ { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a ; + 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe6000001040764046200000007256e756d62657204680000000625776f726473ffff056576656e74ff0508010000000b6c6f72656d20697073756d } + Unit ] + - location: 30 (just consumed gas: 0.010) + [ (Pair { 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600000004076403620368ffff056576656e74ff0505000a ; + 0x011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe6000001040764046200000007256e756d62657204680000000625776f726473ffff056576656e74ff0508010000000b6c6f72656d20697073756d } + Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -empty_map--storage457300675--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -empty_map--storage457300675--input125992234-.out new file mode 100644 index 000000000000..638d073a4118 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -empty_map--storage457300675--input125992234-.out @@ -0,0 +1,33 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/empty_map.tz on storage '{}' and input Unit --level 1 --trace-stack +storage + { Elt "hello" "world" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 8.379) + [ (Pair Unit {}) ] + - location: 9 (just consumed gas: 0.010) + [ ] + - location: 10 (just consumed gas: 0.300) + [ {} ] + - location: 13 (just consumed gas: 0.010) + [ "world" + {} ] + - location: 16 (just consumed gas: 0.010) + [ (Some "world") + {} ] + - location: 17 (just consumed gas: 0.010) + [ "hello" + (Some "world") + {} ] + - location: 20 (just consumed gas: 0.090) + [ { Elt "hello" "world" } ] + - location: 21 (just consumed gas: 0.010) + [ {} + { Elt "hello" "world" } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "hello" "world" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -exec_concat--storage398998998--input246262487-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -exec_concat--storage398998998--input246262487-.out new file mode 100644 index 000000000000..0344a36f507c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -exec_concat--storage398998998--input246262487-.out @@ -0,0 +1,48 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/exec_concat.tz on storage '"?"' and input '"test"' --level 1 --trace-stack +storage + "test_abc" +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 10.941) + [ (Pair "test" "?") ] + - location: 7 (just consumed gas: 0.010) + [ "test" ] + - location: 8 (just consumed gas: 0.010) + [ { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } + "test" ] + - location: 22 (just consumed gas: 0.010) + [ "test" + { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] + - location: 12 (just consumed gas: 0.010) + [ "_abc" + "test" ] + - location: 15 (just consumed gas: 0.010) + [ {} + "_abc" + "test" ] + - location: 17 (just consumed gas: 0.010) + [ "_abc" + {} + "test" ] + - location: 18 (just consumed gas: 0.010) + [ { "_abc" } + "test" ] + - location: 19 (just consumed gas: 0.010) + [ "test" + { "_abc" } ] + - location: 20 (just consumed gas: 0.010) + [ { "test" ; "_abc" } ] + - location: 21 (just consumed gas: 0.124) + [ "test_abc" ] + - location: 23 (just consumed gas: 0.025) + [ "test_abc" ] + - location: 24 (just consumed gas: 0.010) + [ {} + "test_abc" ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} "test_abc") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -exec_concat--storage398998998--input79230375-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -exec_concat--storage398998998--input79230375-.out new file mode 100644 index 000000000000..3ffb488aca5a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -exec_concat--storage398998998--input79230375-.out @@ -0,0 +1,48 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/exec_concat.tz on storage '"?"' and input '""' --level 1 --trace-stack +storage + "_abc" +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 10.901) + [ (Pair "" "?") ] + - location: 7 (just consumed gas: 0.010) + [ "" ] + - location: 8 (just consumed gas: 0.010) + [ { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } + "" ] + - location: 22 (just consumed gas: 0.010) + [ "" + { PUSH string "_abc" ; NIL string ; SWAP ; CONS ; SWAP ; CONS ; CONCAT } ] + - location: 12 (just consumed gas: 0.010) + [ "_abc" + "" ] + - location: 15 (just consumed gas: 0.010) + [ {} + "_abc" + "" ] + - location: 17 (just consumed gas: 0.010) + [ "_abc" + {} + "" ] + - location: 18 (just consumed gas: 0.010) + [ { "_abc" } + "" ] + - location: 19 (just consumed gas: 0.010) + [ "" + { "_abc" } ] + - location: 20 (just consumed gas: 0.010) + [ { "" ; "_abc" } ] + - location: 21 (just consumed gas: 0.122) + [ "_abc" ] + - location: 23 (just consumed gas: 0.025) + [ "_abc" ] + - location: 24 (just consumed gas: 0.010) + [ {} + "_abc" ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} "_abc") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -first--storage492856247--input478406404-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -first--storage492856247--input478406404-.out new file mode 100644 index 000000000000..1399587bdabf --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -first--storage492856247--input478406404-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/first.tz on storage 111 and input '{ 4 }' --level 1 --trace-stack +storage + 4 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 7.522) + [ (Pair { 4 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { 4 } ] + - location: 9 (just consumed gas: 0) + [ 4 + {} ] + - location: 11 (just consumed gas: 0) + [ {} ] + - location: 13 (just consumed gas: 0.010) + [ ] + - location: 11 (just consumed gas: 0.025) + [ 4 ] + - location: 9 (just consumed gas: 0.015) + [ 4 ] + - location: 18 (just consumed gas: 0.010) + [ {} + 4 ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} 4) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -first--storage492856247--input962874972-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -first--storage492856247--input962874972-.out new file mode 100644 index 000000000000..111470401f0b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -first--storage492856247--input962874972-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/first.tz on storage 111 and input '{ 1 ; 2 ; 3 ; 4 }' --level 1 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 7.822) + [ (Pair { 1 ; 2 ; 3 ; 4 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { 1 ; 2 ; 3 ; 4 } ] + - location: 9 (just consumed gas: 0) + [ 1 + { 2 ; 3 ; 4 } ] + - location: 11 (just consumed gas: 0) + [ { 2 ; 3 ; 4 } ] + - location: 13 (just consumed gas: 0.010) + [ ] + - location: 11 (just consumed gas: 0.025) + [ 1 ] + - location: 9 (just consumed gas: 0.015) + [ 1 ] + - location: 18 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage1026405794--input329240220-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage1026405794--input329240220-.out new file mode 100644 index 000000000000..0b9fa38c0d9c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage1026405794--input329240220-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_and_update_map.tz on storage '(Pair None { Elt "hello" 4 })' and input '"hello"' --level 1 --trace-stack +storage + (Pair (Some 4) {}) +emitted operations + +big_map diff + +trace + - location: 13 (just consumed gas: 8.333) + [ (Pair "hello" None { Elt "hello" 4 }) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair None { Elt "hello" 4 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair None { Elt "hello" 4 }) ] + - location: 16 (just consumed gas: 0.010) + [ None + { Elt "hello" 4 } ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + None + { Elt "hello" 4 } ] + - location: 17 (just consumed gas: 0.110) + [ (Some 4) + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Pair (Some 4) {}) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair (Some 4) {}) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some 4) {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage382368661--input329240220-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage382368661--input329240220-.out new file mode 100644 index 000000000000..17705c199df2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage382368661--input329240220-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_and_update_map.tz on storage '(Pair (Some 4) {})' and input '"hello"' --level 1 --trace-stack +storage + (Pair None { Elt "hello" 4 }) +emitted operations + +big_map diff + +trace + - location: 13 (just consumed gas: 8.079) + [ (Pair "hello" (Some 4) {}) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair (Some 4) {}) ] + - location: 14 (just consumed gas: 0) + [ (Pair (Some 4) {}) ] + - location: 16 (just consumed gas: 0.010) + [ (Some 4) + {} ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + (Some 4) + {} ] + - location: 17 (just consumed gas: 0.095) + [ None + { Elt "hello" 4 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair None { Elt "hello" 4 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair None { Elt "hello" 4 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} None { Elt "hello" 4 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage496578814--input329240220-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage496578814--input329240220-.out new file mode 100644 index 000000000000..8c794ad4ebea --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage496578814--input329240220-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_and_update_map.tz on storage '(Pair (Some 5) { Elt "hello" 4 })' and input '"hello"' --level 1 --trace-stack +storage + (Pair (Some 4) { Elt "hello" 5 }) +emitted operations + +big_map diff + +trace + - location: 13 (just consumed gas: 8.433) + [ (Pair "hello" (Some 5) { Elt "hello" 4 }) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair (Some 5) { Elt "hello" 4 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair (Some 5) { Elt "hello" 4 }) ] + - location: 16 (just consumed gas: 0.010) + [ (Some 5) + { Elt "hello" 4 } ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + (Some 5) + { Elt "hello" 4 } ] + - location: 17 (just consumed gas: 0.110) + [ (Some 4) + { Elt "hello" 5 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair (Some 4) { Elt "hello" 5 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair (Some 4) { Elt "hello" 5 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some 4) { Elt "hello" 5 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage496578814--input507231566-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage496578814--input507231566-.out new file mode 100644 index 000000000000..9c0ab590c1e4 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage496578814--input507231566-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_and_update_map.tz on storage '(Pair (Some 5) { Elt "hello" 4 })' and input '"hi"' --level 1 --trace-stack +storage + (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) +emitted operations + +big_map diff + +trace + - location: 13 (just consumed gas: 8.403) + [ (Pair "hi" (Some 5) { Elt "hello" 4 }) ] + - location: 13 (just consumed gas: 0.010) + [ "hi" + (Pair (Some 5) { Elt "hello" 4 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair (Some 5) { Elt "hello" 4 }) ] + - location: 16 (just consumed gas: 0.010) + [ (Some 5) + { Elt "hello" 4 } ] + - location: 14 (just consumed gas: 0.025) + [ "hi" + (Some 5) + { Elt "hello" 4 } ] + - location: 17 (just consumed gas: 0.092) + [ None + { Elt "hello" 4 ; Elt "hi" 5 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage547821324--input329240220-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage547821324--input329240220-.out new file mode 100644 index 000000000000..6315a110fc1e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage547821324--input329240220-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_and_update_map.tz on storage '(Pair None {})' and input '"hello"' --level 1 --trace-stack +storage + (Pair None {}) +emitted operations + +big_map diff + +trace + - location: 13 (just consumed gas: 7.979) + [ (Pair "hello" None {}) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair None {}) ] + - location: 14 (just consumed gas: 0) + [ (Pair None {}) ] + - location: 16 (just consumed gas: 0.010) + [ None + {} ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + None + {} ] + - location: 17 (just consumed gas: 0.095) + [ None + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Pair None {}) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair None {}) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} None {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage796012494--input156280093-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage796012494--input156280093-.out new file mode 100644 index 000000000000..9bf6a6bc9922 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage796012494--input156280093-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_and_update_map.tz on storage '(Pair None { Elt "1" 1 ; Elt "2" 2 })' and input '"1"' --level 1 --trace-stack +storage + (Pair (Some 1) { Elt "2" 2 }) +emitted operations + +big_map diff + +trace + - location: 13 (just consumed gas: 8.588) + [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 13 (just consumed gas: 0.010) + [ "1" + (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 16 (just consumed gas: 0.010) + [ None + { Elt "1" 1 ; Elt "2" 2 } ] + - location: 14 (just consumed gas: 0.025) + [ "1" + None + { Elt "1" 1 ; Elt "2" 2 } ] + - location: 17 (just consumed gas: 0.089) + [ (Some 1) + { Elt "2" 2 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair (Some 1) { Elt "2" 2 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair (Some 1) { Elt "2" 2 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some 1) { Elt "2" 2 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage796012494--input228164856-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage796012494--input228164856-.out new file mode 100644 index 000000000000..ef50474a67a8 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_and_update_map--storage796012494--input228164856-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_and_update_map.tz on storage '(Pair None { Elt "1" 1 ; Elt "2" 2 })' and input '"2"' --level 1 --trace-stack +storage + (Pair (Some 2) { Elt "1" 1 }) +emitted operations + +big_map diff + +trace + - location: 13 (just consumed gas: 8.588) + [ (Pair "2" None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 13 (just consumed gas: 0.010) + [ "2" + (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 16 (just consumed gas: 0.010) + [ None + { Elt "1" 1 ; Elt "2" 2 } ] + - location: 14 (just consumed gas: 0.025) + [ "2" + None + { Elt "1" 1 ; Elt "2" 2 } ] + - location: 17 (just consumed gas: 0.089) + [ (Some 2) + { Elt "1" 1 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair (Some 2) { Elt "1" 1 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair (Some 2) { Elt "1" 1 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some 2) { Elt "1" 1 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage139236239--input329240220-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage139236239--input329240220-.out new file mode 100644 index 000000000000..aec0b7e3b30d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage139236239--input329240220-.out @@ -0,0 +1,41 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_map_value.tz on storage '(Pair None { Elt "hello" "hi" })' and input '"hello"' --level 1 --trace-stack +storage + (Pair (Some "hi") { Elt "hello" "hi" }) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 10.880) + [ (Pair "hello" None { Elt "hello" "hi" }) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair "hello" None { Elt "hello" "hi" }) + (Pair "hello" None { Elt "hello" "hi" }) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair "hello" None { Elt "hello" "hi" }) ] + - location: 14 (just consumed gas: 0) + [ (Pair "hello" None { Elt "hello" "hi" }) ] + - location: 17 (just consumed gas: 0.010) + [ (Pair None { Elt "hello" "hi" }) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } + { Elt "hello" "hi" } ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + { Elt "hello" "hi" } + { Elt "hello" "hi" } ] + - location: 20 (just consumed gas: 0.090) + [ (Some "hi") + { Elt "hello" "hi" } ] + - location: 21 (just consumed gas: 0.010) + [ (Pair (Some "hi") { Elt "hello" "hi" }) ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Pair (Some "hi") { Elt "hello" "hi" }) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some "hi") { Elt "hello" "hi" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage139236239--input79230375-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage139236239--input79230375-.out new file mode 100644 index 000000000000..e5c3f8bbe9a2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage139236239--input79230375-.out @@ -0,0 +1,41 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_map_value.tz on storage '(Pair None { Elt "hello" "hi" })' and input '""' --level 1 --trace-stack +storage + (Pair None { Elt "hello" "hi" }) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 10.830) + [ (Pair "" None { Elt "hello" "hi" }) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair "" None { Elt "hello" "hi" }) + (Pair "" None { Elt "hello" "hi" }) ] + - location: 13 (just consumed gas: 0.010) + [ "" + (Pair "" None { Elt "hello" "hi" }) ] + - location: 14 (just consumed gas: 0) + [ (Pair "" None { Elt "hello" "hi" }) ] + - location: 17 (just consumed gas: 0.010) + [ (Pair None { Elt "hello" "hi" }) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } + { Elt "hello" "hi" } ] + - location: 14 (just consumed gas: 0.025) + [ "" + { Elt "hello" "hi" } + { Elt "hello" "hi" } ] + - location: 20 (just consumed gas: 0.080) + [ None + { Elt "hello" "hi" } ] + - location: 21 (just consumed gas: 0.010) + [ (Pair None { Elt "hello" "hi" }) ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Pair None { Elt "hello" "hi" }) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None { Elt "hello" "hi" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage329396864--input156280093-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage329396864--input156280093-.out new file mode 100644 index 000000000000..601bf635228b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -get_map_value--storage329396864--input156280093-.out @@ -0,0 +1,41 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/get_map_value.tz on storage '(Pair None { Elt "1" "one" ; Elt "2" "two" })' and input '"1"' --level 1 --trace-stack +storage + (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 11.189) + [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) + (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] + - location: 13 (just consumed gas: 0.010) + [ "1" + (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] + - location: 14 (just consumed gas: 0) + [ (Pair "1" None { Elt "1" "one" ; Elt "2" "two" }) ] + - location: 17 (just consumed gas: 0.010) + [ (Pair None { Elt "1" "one" ; Elt "2" "two" }) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } + { Elt "1" "one" ; Elt "2" "two" } ] + - location: 14 (just consumed gas: 0.025) + [ "1" + { Elt "1" "one" ; Elt "2" "two" } + { Elt "1" "one" ; Elt "2" "two" } ] + - location: 20 (just consumed gas: 0.083) + [ (Some "one") + { Elt "1" "one" ; Elt "2" "two" } ] + - location: 21 (just consumed gas: 0.010) + [ (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Pair (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some "one") { Elt "1" "one" ; Elt "2" "two" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_key--storage921624073--input1040351577-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_key--storage921624073--input1040351577-.out new file mode 100644 index 000000000000..98e414a44016 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_key--storage921624073--input1040351577-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/hash_key.tz on storage None and input '"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav"' --level 1 --trace-stack +storage + (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 330.053) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" None) ] + - location: 8 (just consumed gas: 0.010) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" ] + - location: 9 (just consumed gas: 0.605) + [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] + - location: 10 (just consumed gas: 0.010) + [ (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_key--storage921624073--input153350004-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_key--storage921624073--input153350004-.out new file mode 100644 index 000000000000..d8792cca1983 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_key--storage921624073--input153350004-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/hash_key.tz on storage None and input '"edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES"' --level 1 --trace-stack +storage + (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 330.053) + [ (Pair "edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES" None) ] + - location: 8 (just consumed gas: 0.010) + [ "edpkuJqtDcA2m2muMxViSM47MPsGQzmyjnNTawUPqR8vZTAMcx61ES" ] + - location: 9 (just consumed gas: 0.605) + [ "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k" ] + - location: 10 (just consumed gas: 0.010) + [ (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k") ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some "tz1XPTDmvT3vVE5Uunngmixm7gj7zmdbPq6k")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_string--storage151303925--input3431716-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_string--storage151303925--input3431716-.out new file mode 100644 index 000000000000..3e840e9b652a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_string--storage151303925--input3431716-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/hash_string.tz on storage 0x00 and input '"abcdefg"' --level 1 --trace-stack +storage + 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.949) + [ (Pair "abcdefg" 0x00) ] + - location: 7 (just consumed gas: 0.010) + [ "abcdefg" ] + - location: 8 (just consumed gas: 0.286) + [ 0x05010000000761626364656667 ] + - location: 9 (just consumed gas: 0.444) + [ 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0x46fdbcb4ea4eadad5615cdaa17d67f783e01e21149ce2b27de497600b4cd8f4e) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_string--storage151303925--input535018041-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_string--storage151303925--input535018041-.out new file mode 100644 index 000000000000..0c8136ccbd46 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -hash_string--storage151303925--input535018041-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/hash_string.tz on storage 0x00 and input '"12345"' --level 1 --trace-stack +storage + 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.929) + [ (Pair "12345" 0x00) ] + - location: 7 (just consumed gas: 0.010) + [ "12345" ] + - location: 8 (just consumed gas: 0.266) + [ 0x0501000000053132333435 ] + - location: 9 (just consumed gas: 0.442) + [ 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0xb4c26c20de52a4eaf0d8a340db47ad8cb1e74049570859c9a9a3952b204c772f) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if--storage921624073--input570553153-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if--storage921624073--input570553153-.out new file mode 100644 index 000000000000..1dd514036fba --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if--storage921624073--input570553153-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/if.tz on storage None and input False --level 1 --trace-stack +storage + (Some False) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 7.320) + [ (Pair False None) ] + - location: 8 (just consumed gas: 0.010) + [ False ] + - location: 9 (just consumed gas: 0) + [ ] + - location: 15 (just consumed gas: 0.010) + [ False ] + - location: 9 (just consumed gas: 0.015) + [ False ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if--storage921624073--input954397288-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if--storage921624073--input954397288-.out new file mode 100644 index 000000000000..58a3ab469c83 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if--storage921624073--input954397288-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/if.tz on storage None and input True --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 7.320) + [ (Pair True None) ] + - location: 8 (just consumed gas: 0.010) + [ True ] + - location: 9 (just consumed gas: 0) + [ ] + - location: 11 (just consumed gas: 0.010) + [ True ] + - location: 9 (just consumed gas: 0.015) + [ True ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if_some--storage398998998--input288201633-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if_some--storage398998998--input288201633-.out new file mode 100644 index 000000000000..c188a6949089 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if_some--storage398998998--input288201633-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/if_some.tz on storage '"?"' and input '(Some "hello")' --level 1 --trace-stack +storage + "hello" +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 6.419) + [ (Pair (Some "hello") "?") ] + - location: 8 (just consumed gas: 0.010) + [ (Some "hello") ] + - location: 10 (just consumed gas: 0) + [ "hello" ] + - location: 10 (just consumed gas: 0.015) + [ "hello" ] + - location: 16 (just consumed gas: 0.010) + [ {} + "hello" ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} "hello") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if_some--storage398998998--input921624073-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if_some--storage398998998--input921624073-.out new file mode 100644 index 000000000000..5e02e5cf414e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -if_some--storage398998998--input921624073-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/if_some.tz on storage '"?"' and input None --level 1 --trace-stack +storage + "" +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 6.255) + [ (Pair None "?") ] + - location: 8 (just consumed gas: 0.010) + [ None ] + - location: 10 (just consumed gas: 0) + [ ] + - location: 12 (just consumed gas: 0.010) + [ "" ] + - location: 10 (just consumed gas: 0.015) + [ "" ] + - location: 16 (just consumed gas: 0.010) + [ {} + "" ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} "") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input453441034-.out new file mode 100644 index 000000000000..84bd244a59d1 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input453441034-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/int.tz on storage None and input 1 --level 1 --trace-stack +storage + (Some 1) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.053) + [ (Pair 1 None) ] + - location: 8 (just consumed gas: 0.010) + [ 1 ] + - location: 9 (just consumed gas: 0.010) + [ 1 ] + - location: 10 (just consumed gas: 0.010) + [ (Some 1) ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some 1) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some 1)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input535454136-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input535454136-.out new file mode 100644 index 000000000000..d18d7ed0aa64 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input535454136-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/int.tz on storage None and input 9999 --level 1 --trace-stack +storage + (Some 9999) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.053) + [ (Pair 9999 None) ] + - location: 8 (just consumed gas: 0.010) + [ 9999 ] + - location: 9 (just consumed gas: 0.010) + [ 9999 ] + - location: 10 (just consumed gas: 0.010) + [ (Some 9999) ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some 9999) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some 9999)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input680650890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input680650890-.out new file mode 100644 index 000000000000..ca84db97a389 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -int--storage921624073--input680650890-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/int.tz on storage None and input 0 --level 1 --trace-stack +storage + (Some 0) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.053) + [ (Pair 0 None) ] + - location: 8 (just consumed gas: 0.010) + [ 0 ] + - location: 9 (just consumed gas: 0.010) + [ 0 ] + - location: 10 (just consumed gas: 0.010) + [ (Some 0) ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some 0) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some 0)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -keccak--storage921624073--input1008262038-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -keccak--storage921624073--input1008262038-.out new file mode 100644 index 000000000000..6a91852c54fe --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -keccak--storage921624073--input1008262038-.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/keccak.tz on storage None and input 0x48656c6c6f2c20776f726c6421 --level 1 --trace-stack +storage + (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.053) + [ (Pair 0x48656c6c6f2c20776f726c6421 None) ] + - location: 8 (just consumed gas: 0.010) + [ 0x48656c6c6f2c20776f726c6421 ] + - location: 9 (just consumed gas: 1.457) + [ 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4 ] + - location: 10 (just consumed gas: 0.010) + [ (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} + (Some 0xb6e16d27ac5ab427a7f68900ac5559ce272dc6c37c82b3e052246c82244c50e4)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -left_right--storage4177631--input202098045-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -left_right--storage4177631--input202098045-.out new file mode 100644 index 000000000000..12db8d712464 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -left_right--storage4177631--input202098045-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/left_right.tz on storage '(Left "X")' and input '(Left True)' --level 1 --trace-stack +storage + (Right True) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 7.244) + [ (Pair (Left True) (Left "X")) ] + - location: 11 (just consumed gas: 0.010) + [ (Left True) ] + - location: 12 (just consumed gas: 0) + [ True ] + - location: 14 (just consumed gas: 0.010) + [ (Right True) ] + - location: 12 (just consumed gas: 0.015) + [ (Right True) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Right True) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Right True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -left_right--storage4177631--input44576556-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -left_right--storage4177631--input44576556-.out new file mode 100644 index 000000000000..2caae5780bd6 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -left_right--storage4177631--input44576556-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/left_right.tz on storage '(Left "X")' and input '(Right "a")' --level 1 --trace-stack +storage + (Left "a") +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 7.268) + [ (Pair (Right "a") (Left "X")) ] + - location: 11 (just consumed gas: 0.010) + [ (Right "a") ] + - location: 12 (just consumed gas: 0) + [ "a" ] + - location: 17 (just consumed gas: 0.010) + [ (Left "a") ] + - location: 12 (just consumed gas: 0.015) + [ (Left "a") ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Left "a") ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Left "a")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -level--storage492856247--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -level--storage492856247--input125992234-.out new file mode 100644 index 000000000000..f20ba5256204 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -level--storage492856247--input125992234-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/level.tz on storage 111 and input Unit --level 1 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 111) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 1 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat--storage717096222--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat--storage717096222--input457300675-.out new file mode 100644 index 000000000000..fcc032fd7987 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat--storage717096222--input457300675-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_concat.tz on storage '"abc"' and input '{}' --level 1 --trace-stack +storage + "abc" +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.605) + [ (Pair {} "abc") ] + - location: 8 (just consumed gas: 0.010) + [ {} + "abc" ] + - location: 9 (just consumed gas: 0.010) + [ "abc" + {} ] + - location: 10 (just consumed gas: 0.010) + [ { "abc" } ] + - location: 11 (just consumed gas: 0.111) + [ "abc" ] + - location: 12 (just consumed gas: 0.010) + [ {} + "abc" ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} "abc") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat--storage717096222--input546523343-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat--storage717096222--input546523343-.out new file mode 100644 index 000000000000..1475a283b95b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat--storage717096222--input546523343-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_concat.tz on storage '"abc"' and input '{ "d" ; "e" ; "f" }' --level 1 --trace-stack +storage + "abcdef" +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.977) + [ (Pair { "d" ; "e" ; "f" } "abc") ] + - location: 8 (just consumed gas: 0.010) + [ { "d" ; "e" ; "f" } + "abc" ] + - location: 9 (just consumed gas: 0.010) + [ "abc" + { "d" ; "e" ; "f" } ] + - location: 10 (just consumed gas: 0.010) + [ { "abc" ; "d" ; "e" ; "f" } ] + - location: 11 (just consumed gas: 0.143) + [ "abcdef" ] + - location: 12 (just consumed gas: 0.010) + [ {} + "abcdef" ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} "abcdef") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage149262694--input220724351-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage149262694--input220724351-.out new file mode 100644 index 000000000000..6f350abc9ccc --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage149262694--input220724351-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_concat_bytes.tz on storage 0x and input '{ 0x00 ; 0x11 ; 0x00 }' --level 1 --trace-stack +storage + 0x001100 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.861) + [ (Pair { 0x00 ; 0x11 ; 0x00 } 0x) ] + - location: 8 (just consumed gas: 0.010) + [ { 0x00 ; 0x11 ; 0x00 } + 0x ] + - location: 9 (just consumed gas: 0.010) + [ 0x + { 0x00 ; 0x11 ; 0x00 } ] + - location: 10 (just consumed gas: 0.010) + [ { 0x ; 0x00 ; 0x11 ; 0x00 } ] + - location: 11 (just consumed gas: 0.141) + [ 0x001100 ] + - location: 12 (just consumed gas: 0.010) + [ {} + 0x001100 ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} 0x001100) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage149262694--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage149262694--input457300675-.out new file mode 100644 index 000000000000..ad74d6d5420a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage149262694--input457300675-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_concat_bytes.tz on storage 0x and input '{}' --level 1 --trace-stack +storage + 0x +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.561) + [ (Pair {} 0x) ] + - location: 8 (just consumed gas: 0.010) + [ {} + 0x ] + - location: 9 (just consumed gas: 0.010) + [ 0x + {} ] + - location: 10 (just consumed gas: 0.010) + [ { 0x } ] + - location: 11 (just consumed gas: 0.110) + [ 0x ] + - location: 12 (just consumed gas: 0.010) + [ {} + 0x ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} 0x) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage65410082--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage65410082--input457300675-.out new file mode 100644 index 000000000000..95c402a88c29 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage65410082--input457300675-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_concat_bytes.tz on storage 0xabcd and input '{}' --level 1 --trace-stack +storage + 0xabcd +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.561) + [ (Pair {} 0xabcd) ] + - location: 8 (just consumed gas: 0.010) + [ {} + 0xabcd ] + - location: 9 (just consumed gas: 0.010) + [ 0xabcd + {} ] + - location: 10 (just consumed gas: 0.010) + [ { 0xabcd } ] + - location: 11 (just consumed gas: 0.111) + [ 0xabcd ] + - location: 12 (just consumed gas: 0.010) + [ {} + 0xabcd ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} 0xabcd) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage726220441--input972761363-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage726220441--input972761363-.out new file mode 100644 index 000000000000..3b98e242b238 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_concat_bytes--storage726220441--input972761363-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_concat_bytes.tz on storage 0x00ab and input '{ 0xcd ; 0xef ; 0x00 }' --level 1 --trace-stack +storage + 0x00abcdef00 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.861) + [ (Pair { 0xcd ; 0xef ; 0x00 } 0x00ab) ] + - location: 8 (just consumed gas: 0.010) + [ { 0xcd ; 0xef ; 0x00 } + 0x00ab ] + - location: 9 (just consumed gas: 0.010) + [ 0x00ab + { 0xcd ; 0xef ; 0x00 } ] + - location: 10 (just consumed gas: 0.010) + [ { 0x00ab ; 0xcd ; 0xef ; 0x00 } ] + - location: 11 (just consumed gas: 0.142) + [ 0x00abcdef00 ] + - location: 12 (just consumed gas: 0.010) + [ {} + 0x00abcdef00 ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} 0x00abcdef00) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input264787654-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input264787654-.out new file mode 100644 index 000000000000..74b974d2b1d0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input264787654-.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_id.tz on storage '{""}' and input '{ "a" ; "b" ; "c" }' --level 1 --trace-stack +storage + { "a" ; "b" ; "c" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.561) + [ (Pair { "a" ; "b" ; "c" } { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { "a" ; "b" ; "c" } ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} { "a" ; "b" ; "c" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input457300675-.out new file mode 100644 index 000000000000..aa050a0d021c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input457300675-.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_id.tz on storage '{""}' and input '{}' --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.189) + [ (Pair {} { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0.010) + [ {} + {} ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input656499821-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input656499821-.out new file mode 100644 index 000000000000..ae1308d2ff1f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id--storage528921618--input656499821-.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_id.tz on storage '{""}' and input '{ "1" ; "2" ; "3" }' --level 1 --trace-stack +storage + { "1" ; "2" ; "3" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.561) + [ (Pair { "1" ; "2" ; "3" } { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ { "1" ; "2" ; "3" } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { "1" ; "2" ; "3" } ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} { "1" ; "2" ; "3" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input264787654-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input264787654-.out new file mode 100644 index 000000000000..95b30dadcbd4 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input264787654-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_id_map.tz on storage '{""}' and input '{ "a" ; "b" ; "c" }' --level 1 --trace-stack +storage + { "a" ; "b" ; "c" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 5.447) + [ (Pair { "a" ; "b" ; "c" } { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } ] + - location: 10 (just consumed gas: 0) + [ "a" ] + - location: 10 (just consumed gas: 0.015) + [ "b" ] + - location: 10 (just consumed gas: 0.015) + [ "c" ] + - location: 10 (just consumed gas: 0.015) + [ { "a" ; "b" ; "c" } ] + - location: 12 (just consumed gas: 0.010) + [ {} + { "a" ; "b" ; "c" } ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} { "a" ; "b" ; "c" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input457300675-.out new file mode 100644 index 000000000000..56c29396441c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input457300675-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_id_map.tz on storage '{""}' and input '{}' --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 5.075) + [ (Pair {} { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0) + [ {} ] + - location: 12 (just consumed gas: 0.010) + [ {} + {} ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input656499821-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input656499821-.out new file mode 100644 index 000000000000..cb4e7541f71e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_id_map--storage528921618--input656499821-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_id_map.tz on storage '{""}' and input '{ "1" ; "2" ; "3" }' --level 1 --trace-stack +storage + { "1" ; "2" ; "3" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 5.447) + [ (Pair { "1" ; "2" ; "3" } { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ { "1" ; "2" ; "3" } ] + - location: 10 (just consumed gas: 0) + [ "1" ] + - location: 10 (just consumed gas: 0.015) + [ "2" ] + - location: 10 (just consumed gas: 0.015) + [ "3" ] + - location: 10 (just consumed gas: 0.015) + [ { "1" ; "2" ; "3" } ] + - location: 12 (just consumed gas: 0.010) + [ {} + { "1" ; "2" ; "3" } ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} { "1" ; "2" ; "3" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_iter--storage680650890--input568817463-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_iter--storage680650890--input568817463-.out new file mode 100644 index 000000000000..c14e2a40e169 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_iter--storage680650890--input568817463-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_iter.tz on storage 0 and input '{ 10 ; 2 ; 1 }' --level 1 --trace-stack +storage + 20 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 7.002) + [ (Pair { 10 ; 2 ; 1 } 0) ] + - location: 8 (just consumed gas: 0.010) + [ { 10 ; 2 ; 1 } ] + - location: 9 (just consumed gas: 0.010) + [ 1 + { 10 ; 2 ; 1 } ] + - location: 12 (just consumed gas: 0.010) + [ { 10 ; 2 ; 1 } + 1 ] + - location: 13 (just consumed gas: 0) + [ 10 + 1 ] + - location: 15 (just consumed gas: 0.059) + [ 10 ] + - location: 13 (just consumed gas: 0.015) + [ 2 + 10 ] + - location: 15 (just consumed gas: 0.059) + [ 20 ] + - location: 13 (just consumed gas: 0.015) + [ 1 + 20 ] + - location: 15 (just consumed gas: 0.059) + [ 20 ] + - location: 13 (just consumed gas: 0.015) + [ 20 ] + - location: 16 (just consumed gas: 0.010) + [ {} + 20 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} 20) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_iter--storage680650890--input737923774-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_iter--storage680650890--input737923774-.out new file mode 100644 index 000000000000..7480f60ce4d2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_iter--storage680650890--input737923774-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_iter.tz on storage 0 and input '{ 3 ; 6 ; 9 }' --level 1 --trace-stack +storage + 162 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 7.002) + [ (Pair { 3 ; 6 ; 9 } 0) ] + - location: 8 (just consumed gas: 0.010) + [ { 3 ; 6 ; 9 } ] + - location: 9 (just consumed gas: 0.010) + [ 1 + { 3 ; 6 ; 9 } ] + - location: 12 (just consumed gas: 0.010) + [ { 3 ; 6 ; 9 } + 1 ] + - location: 13 (just consumed gas: 0) + [ 3 + 1 ] + - location: 15 (just consumed gas: 0.059) + [ 3 ] + - location: 13 (just consumed gas: 0.015) + [ 6 + 3 ] + - location: 15 (just consumed gas: 0.059) + [ 18 ] + - location: 13 (just consumed gas: 0.015) + [ 9 + 18 ] + - location: 15 (just consumed gas: 0.059) + [ 162 ] + - location: 13 (just consumed gas: 0.015) + [ 162 ] + - location: 16 (just consumed gas: 0.010) + [ {} + 162 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} 162) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input457300675-.out new file mode 100644 index 000000000000..82698ccf1fca --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input457300675-.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_map_block.tz on storage '{0}' and input '{}' --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 11.941) + [ (Pair {} { 0 }) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0.010) + [ 0 + {} ] + - location: 13 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 14 (just consumed gas: 0) + [ {} + 0 ] + - location: 26 (just consumed gas: 0.010) + [ {} + {} + 0 ] + - location: 28 (just consumed gas: 0.010) + [ (Pair {} {}) + 0 ] + - location: 29 (just consumed gas: 0) + [ 0 ] + - location: 31 (just consumed gas: 0.010) + [ ] + - location: 29 (just consumed gas: 0.025) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input648737279-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input648737279-.out new file mode 100644 index 000000000000..9fda73799428 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input648737279-.out @@ -0,0 +1,136 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_map_block.tz on storage '{0}' and input '{ 1 ; 2 ; 3 ; 0 }' --level 1 --trace-stack +storage + { 1 ; 3 ; 5 ; 3 } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 12.341) + [ (Pair { 1 ; 2 ; 3 ; 0 } { 0 }) ] + - location: 9 (just consumed gas: 0.010) + [ { 1 ; 2 ; 3 ; 0 } ] + - location: 10 (just consumed gas: 0.010) + [ 0 + { 1 ; 2 ; 3 ; 0 } ] + - location: 13 (just consumed gas: 0.010) + [ { 1 ; 2 ; 3 ; 0 } + 0 ] + - location: 14 (just consumed gas: 0) + [ 1 + 0 ] + - location: 16 (just consumed gas: 0) + [ 0 ] + - location: 18 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 16 (just consumed gas: 0.025) + [ 1 + 0 + 0 ] + - location: 19 (just consumed gas: 0.035) + [ 1 + 0 ] + - location: 20 (just consumed gas: 0) + [ 0 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 0 ] + - location: 25 (just consumed gas: 0.035) + [ 1 ] + - location: 20 (just consumed gas: 0.025) + [ 1 + 1 ] + - location: 14 (just consumed gas: 0.015) + [ 2 + 1 ] + - location: 16 (just consumed gas: 0) + [ 1 ] + - location: 18 (just consumed gas: 0.010) + [ 1 + 1 ] + - location: 16 (just consumed gas: 0.025) + [ 2 + 1 + 1 ] + - location: 19 (just consumed gas: 0.035) + [ 3 + 1 ] + - location: 20 (just consumed gas: 0) + [ 1 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 1 ] + - location: 25 (just consumed gas: 0.035) + [ 2 ] + - location: 20 (just consumed gas: 0.025) + [ 3 + 2 ] + - location: 14 (just consumed gas: 0.015) + [ 3 + 2 ] + - location: 16 (just consumed gas: 0) + [ 2 ] + - location: 18 (just consumed gas: 0.010) + [ 2 + 2 ] + - location: 16 (just consumed gas: 0.025) + [ 3 + 2 + 2 ] + - location: 19 (just consumed gas: 0.035) + [ 5 + 2 ] + - location: 20 (just consumed gas: 0) + [ 2 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 2 ] + - location: 25 (just consumed gas: 0.035) + [ 3 ] + - location: 20 (just consumed gas: 0.025) + [ 5 + 3 ] + - location: 14 (just consumed gas: 0.015) + [ 0 + 3 ] + - location: 16 (just consumed gas: 0) + [ 3 ] + - location: 18 (just consumed gas: 0.010) + [ 3 + 3 ] + - location: 16 (just consumed gas: 0.025) + [ 0 + 3 + 3 ] + - location: 19 (just consumed gas: 0.035) + [ 3 + 3 ] + - location: 20 (just consumed gas: 0) + [ 3 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 3 ] + - location: 25 (just consumed gas: 0.035) + [ 4 ] + - location: 20 (just consumed gas: 0.025) + [ 3 + 4 ] + - location: 14 (just consumed gas: 0.015) + [ { 1 ; 3 ; 5 ; 3 } + 4 ] + - location: 26 (just consumed gas: 0.010) + [ {} + { 1 ; 3 ; 5 ; 3 } + 4 ] + - location: 28 (just consumed gas: 0.010) + [ (Pair {} { 1 ; 3 ; 5 ; 3 }) + 4 ] + - location: 29 (just consumed gas: 0) + [ 4 ] + - location: 31 (just consumed gas: 0.010) + [ ] + - location: 29 (just consumed gas: 0.025) + [ (Pair {} { 1 ; 3 ; 5 ; 3 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input908379154-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input908379154-.out new file mode 100644 index 000000000000..800341bdb0c9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_map_block--storage907453363--input908379154-.out @@ -0,0 +1,136 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_map_block.tz on storage '{0}' and input '{ 1 ; 1 ; 1 ; 1 }' --level 1 --trace-stack +storage + { 1 ; 2 ; 3 ; 4 } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 12.341) + [ (Pair { 1 ; 1 ; 1 ; 1 } { 0 }) ] + - location: 9 (just consumed gas: 0.010) + [ { 1 ; 1 ; 1 ; 1 } ] + - location: 10 (just consumed gas: 0.010) + [ 0 + { 1 ; 1 ; 1 ; 1 } ] + - location: 13 (just consumed gas: 0.010) + [ { 1 ; 1 ; 1 ; 1 } + 0 ] + - location: 14 (just consumed gas: 0) + [ 1 + 0 ] + - location: 16 (just consumed gas: 0) + [ 0 ] + - location: 18 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 16 (just consumed gas: 0.025) + [ 1 + 0 + 0 ] + - location: 19 (just consumed gas: 0.035) + [ 1 + 0 ] + - location: 20 (just consumed gas: 0) + [ 0 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 0 ] + - location: 25 (just consumed gas: 0.035) + [ 1 ] + - location: 20 (just consumed gas: 0.025) + [ 1 + 1 ] + - location: 14 (just consumed gas: 0.015) + [ 1 + 1 ] + - location: 16 (just consumed gas: 0) + [ 1 ] + - location: 18 (just consumed gas: 0.010) + [ 1 + 1 ] + - location: 16 (just consumed gas: 0.025) + [ 1 + 1 + 1 ] + - location: 19 (just consumed gas: 0.035) + [ 2 + 1 ] + - location: 20 (just consumed gas: 0) + [ 1 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 1 ] + - location: 25 (just consumed gas: 0.035) + [ 2 ] + - location: 20 (just consumed gas: 0.025) + [ 2 + 2 ] + - location: 14 (just consumed gas: 0.015) + [ 1 + 2 ] + - location: 16 (just consumed gas: 0) + [ 2 ] + - location: 18 (just consumed gas: 0.010) + [ 2 + 2 ] + - location: 16 (just consumed gas: 0.025) + [ 1 + 2 + 2 ] + - location: 19 (just consumed gas: 0.035) + [ 3 + 2 ] + - location: 20 (just consumed gas: 0) + [ 2 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 2 ] + - location: 25 (just consumed gas: 0.035) + [ 3 ] + - location: 20 (just consumed gas: 0.025) + [ 3 + 3 ] + - location: 14 (just consumed gas: 0.015) + [ 1 + 3 ] + - location: 16 (just consumed gas: 0) + [ 3 ] + - location: 18 (just consumed gas: 0.010) + [ 3 + 3 ] + - location: 16 (just consumed gas: 0.025) + [ 1 + 3 + 3 ] + - location: 19 (just consumed gas: 0.035) + [ 4 + 3 ] + - location: 20 (just consumed gas: 0) + [ 3 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 3 ] + - location: 25 (just consumed gas: 0.035) + [ 4 ] + - location: 20 (just consumed gas: 0.025) + [ 4 + 4 ] + - location: 14 (just consumed gas: 0.015) + [ { 1 ; 2 ; 3 ; 4 } + 4 ] + - location: 26 (just consumed gas: 0.010) + [ {} + { 1 ; 2 ; 3 ; 4 } + 4 ] + - location: 28 (just consumed gas: 0.010) + [ (Pair {} { 1 ; 2 ; 3 ; 4 }) + 4 ] + - location: 29 (just consumed gas: 0) + [ 4 ] + - location: 31 (just consumed gas: 0.010) + [ ] + - location: 29 (just consumed gas: 0.025) + [ (Pair {} { 1 ; 2 ; 3 ; 4 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input403499055-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input403499055-.out new file mode 100644 index 000000000000..6364d7322f36 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input403499055-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_size.tz on storage 111 and input '{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }' --level 1 --trace-stack +storage + 6 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.995) + [ (Pair { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } ] + - location: 9 (just consumed gas: 0.010) + [ 6 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 6 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 6) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input457300675-.out new file mode 100644 index 000000000000..68a58b2e8614 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input457300675-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_size.tz on storage 111 and input '{}' --level 1 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.395) + [ (Pair {} 111) ] + - location: 8 (just consumed gas: 0.010) + [ {} ] + - location: 9 (just consumed gas: 0.010) + [ 0 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input469078912-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input469078912-.out new file mode 100644 index 000000000000..ad15cf8c27a0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input469078912-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_size.tz on storage 111 and input '{ 1 ; 2 ; 3 }' --level 1 --trace-stack +storage + 3 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.695) + [ (Pair { 1 ; 2 ; 3 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { 1 ; 2 ; 3 } ] + - location: 9 (just consumed gas: 0.010) + [ 3 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 3 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 3) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input802622031-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input802622031-.out new file mode 100644 index 000000000000..0a58fafff01b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -list_size--storage492856247--input802622031-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/list_size.tz on storage 111 and input '{ 1 }' --level 1 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.495) + [ (Pair { 1 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { 1 } ] + - location: 9 (just consumed gas: 0.010) + [ 1 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -loop_left--storage528921618--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -loop_left--storage528921618--input457300675-.out new file mode 100644 index 000000000000..f5e1a9a5a7e0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -loop_left--storage528921618--input457300675-.out @@ -0,0 +1,52 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/loop_left.tz on storage '{""}' and input '{}' --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 17.263) + [ (Pair {} { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0.010) + [ {} + {} ] + - location: 12 (just consumed gas: 0.010) + [ {} + {} ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} {}) ] + - location: 14 (just consumed gas: 0.010) + [ (Left (Pair {} {})) ] + - location: 41 (just consumed gas: 0) + [ (Pair {} {}) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} {}) + (Pair {} {}) ] + - location: 20 (just consumed gas: 0.010) + [ {} + (Pair {} {}) ] + - location: 21 (just consumed gas: 0) + [ (Pair {} {}) ] + - location: 23 (just consumed gas: 0.010) + [ {} ] + - location: 21 (just consumed gas: 0.025) + [ {} + {} ] + - location: 24 (just consumed gas: 0) + [ {} ] + - location: 35 (just consumed gas: 0.010) + [ (Right {}) ] + - location: 24 (just consumed gas: 0.015) + [ (Right {}) ] + - location: 41 (just consumed gas: 0.015) + [ {} ] + - location: 41 (just consumed gas: 0.010) + [ {} + {} ] + - location: 43 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -loop_left--storage528921618--input851203613-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -loop_left--storage528921618--input851203613-.out new file mode 100644 index 000000000000..1811ff31b5fe --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -loop_left--storage528921618--input851203613-.out @@ -0,0 +1,163 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/loop_left.tz on storage '{""}' and input '{ "c" ; "b" ; "a" }' --level 1 --trace-stack +storage + { "a" ; "b" ; "c" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 17.635) + [ (Pair { "c" ; "b" ; "a" } { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ { "c" ; "b" ; "a" } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { "c" ; "b" ; "a" } ] + - location: 12 (just consumed gas: 0.010) + [ { "c" ; "b" ; "a" } + {} ] + - location: 13 (just consumed gas: 0.010) + [ (Pair { "c" ; "b" ; "a" } {}) ] + - location: 14 (just consumed gas: 0.010) + [ (Left (Pair { "c" ; "b" ; "a" } {})) ] + - location: 41 (just consumed gas: 0) + [ (Pair { "c" ; "b" ; "a" } {}) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair { "c" ; "b" ; "a" } {}) + (Pair { "c" ; "b" ; "a" } {}) ] + - location: 20 (just consumed gas: 0.010) + [ { "c" ; "b" ; "a" } + (Pair { "c" ; "b" ; "a" } {}) ] + - location: 21 (just consumed gas: 0) + [ (Pair { "c" ; "b" ; "a" } {}) ] + - location: 23 (just consumed gas: 0.010) + [ {} ] + - location: 21 (just consumed gas: 0.025) + [ { "c" ; "b" ; "a" } + {} ] + - location: 24 (just consumed gas: 0) + [ "c" + { "b" ; "a" } + {} ] + - location: 26 (just consumed gas: 0.010) + [ { "b" ; "a" } + "c" + {} ] + - location: 27 (just consumed gas: 0) + [ "c" + {} ] + - location: 29 (just consumed gas: 0.010) + [ { "c" } ] + - location: 27 (just consumed gas: 0.025) + [ { "b" ; "a" } + { "c" } ] + - location: 30 (just consumed gas: 0.010) + [ (Pair { "b" ; "a" } { "c" }) ] + - location: 31 (just consumed gas: 0.010) + [ (Left (Pair { "b" ; "a" } { "c" })) ] + - location: 24 (just consumed gas: 0.015) + [ (Left (Pair { "b" ; "a" } { "c" })) ] + - location: 41 (just consumed gas: 0.015) + [ (Pair { "b" ; "a" } { "c" }) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair { "b" ; "a" } { "c" }) + (Pair { "b" ; "a" } { "c" }) ] + - location: 20 (just consumed gas: 0.010) + [ { "b" ; "a" } + (Pair { "b" ; "a" } { "c" }) ] + - location: 21 (just consumed gas: 0) + [ (Pair { "b" ; "a" } { "c" }) ] + - location: 23 (just consumed gas: 0.010) + [ { "c" } ] + - location: 21 (just consumed gas: 0.025) + [ { "b" ; "a" } + { "c" } ] + - location: 24 (just consumed gas: 0) + [ "b" + { "a" } + { "c" } ] + - location: 26 (just consumed gas: 0.010) + [ { "a" } + "b" + { "c" } ] + - location: 27 (just consumed gas: 0) + [ "b" + { "c" } ] + - location: 29 (just consumed gas: 0.010) + [ { "b" ; "c" } ] + - location: 27 (just consumed gas: 0.025) + [ { "a" } + { "b" ; "c" } ] + - location: 30 (just consumed gas: 0.010) + [ (Pair { "a" } { "b" ; "c" }) ] + - location: 31 (just consumed gas: 0.010) + [ (Left (Pair { "a" } { "b" ; "c" })) ] + - location: 24 (just consumed gas: 0.015) + [ (Left (Pair { "a" } { "b" ; "c" })) ] + - location: 41 (just consumed gas: 0.015) + [ (Pair { "a" } { "b" ; "c" }) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair { "a" } { "b" ; "c" }) + (Pair { "a" } { "b" ; "c" }) ] + - location: 20 (just consumed gas: 0.010) + [ { "a" } + (Pair { "a" } { "b" ; "c" }) ] + - location: 21 (just consumed gas: 0) + [ (Pair { "a" } { "b" ; "c" }) ] + - location: 23 (just consumed gas: 0.010) + [ { "b" ; "c" } ] + - location: 21 (just consumed gas: 0.025) + [ { "a" } + { "b" ; "c" } ] + - location: 24 (just consumed gas: 0) + [ "a" + {} + { "b" ; "c" } ] + - location: 26 (just consumed gas: 0.010) + [ {} + "a" + { "b" ; "c" } ] + - location: 27 (just consumed gas: 0) + [ "a" + { "b" ; "c" } ] + - location: 29 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } ] + - location: 27 (just consumed gas: 0.025) + [ {} + { "a" ; "b" ; "c" } ] + - location: 30 (just consumed gas: 0.010) + [ (Pair {} { "a" ; "b" ; "c" }) ] + - location: 31 (just consumed gas: 0.010) + [ (Left (Pair {} { "a" ; "b" ; "c" })) ] + - location: 24 (just consumed gas: 0.015) + [ (Left (Pair {} { "a" ; "b" ; "c" })) ] + - location: 41 (just consumed gas: 0.015) + [ (Pair {} { "a" ; "b" ; "c" }) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} { "a" ; "b" ; "c" }) + (Pair {} { "a" ; "b" ; "c" }) ] + - location: 20 (just consumed gas: 0.010) + [ {} + (Pair {} { "a" ; "b" ; "c" }) ] + - location: 21 (just consumed gas: 0) + [ (Pair {} { "a" ; "b" ; "c" }) ] + - location: 23 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } ] + - location: 21 (just consumed gas: 0.025) + [ {} + { "a" ; "b" ; "c" } ] + - location: 24 (just consumed gas: 0) + [ { "a" ; "b" ; "c" } ] + - location: 35 (just consumed gas: 0.010) + [ (Right { "a" ; "b" ; "c" }) ] + - location: 24 (just consumed gas: 0.015) + [ (Right { "a" ; "b" ; "c" }) ] + - location: 41 (just consumed gas: 0.015) + [ { "a" ; "b" ; "c" } ] + - location: 41 (just consumed gas: 0.010) + [ {} + { "a" ; "b" ; "c" } ] + - location: 43 (just consumed gas: 0.010) + [ (Pair {} { "a" ; "b" ; "c" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -lsl_bytes--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -lsl_bytes--storage125992234--input125992234-.out new file mode 100644 index 000000000000..064ad7677210 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -lsl_bytes--storage125992234--input125992234-.out @@ -0,0 +1,93 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/lsl_bytes_016.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 36.249) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 0 ] + - location: 11 (just consumed gas: 0.010) + [ 0x06 + 0 ] + - location: 14 (just consumed gas: 0.065) + [ 0x06 ] + - location: 15 (just consumed gas: 0.010) + [ 0x06 + 0x06 ] + - location: 20 (just consumed gas: 0.035) + [ 0 ] + - location: 21 (just consumed gas: 0.010) + [ True ] + - location: 22 (just consumed gas: 0) + [ ] + - location: 22 (just consumed gas: 0.015) + [ ] + - location: 28 (just consumed gas: 0.010) + [ 1 ] + - location: 31 (just consumed gas: 0.010) + [ 0x06 + 1 ] + - location: 34 (just consumed gas: 0.065) + [ 0x000c ] + - location: 35 (just consumed gas: 0.010) + [ 0x000c + 0x000c ] + - location: 40 (just consumed gas: 0.035) + [ 0 ] + - location: 41 (just consumed gas: 0.010) + [ True ] + - location: 42 (just consumed gas: 0) + [ ] + - location: 42 (just consumed gas: 0.015) + [ ] + - location: 48 (just consumed gas: 0.010) + [ 8 ] + - location: 51 (just consumed gas: 0.010) + [ 0x06 + 8 ] + - location: 54 (just consumed gas: 0.065) + [ 0x0600 ] + - location: 55 (just consumed gas: 0.010) + [ 0x0600 + 0x0600 ] + - location: 60 (just consumed gas: 0.035) + [ 0 ] + - location: 61 (just consumed gas: 0.010) + [ True ] + - location: 62 (just consumed gas: 0) + [ ] + - location: 62 (just consumed gas: 0.015) + [ ] + - location: 68 (just consumed gas: 0.010) + [ 1 ] + - location: 71 (just consumed gas: 0.010) + [ 0x0006 + 1 ] + - location: 74 (just consumed gas: 0.066) + [ 0x00000c ] + - location: 75 (just consumed gas: 0.010) + [ 0x00000c + 0x00000c ] + - location: 80 (just consumed gas: 0.035) + [ 0 ] + - location: 81 (just consumed gas: 0.010) + [ True ] + - location: 82 (just consumed gas: 0) + [ ] + - location: 82 (just consumed gas: 0.015) + [ ] + - location: 88 (just consumed gas: 0.010) + [ Unit ] + - location: 89 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 91 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -lsr_bytes--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -lsr_bytes--storage125992234--input125992234-.out new file mode 100644 index 000000000000..96886c76a98e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -lsr_bytes--storage125992234--input125992234-.out @@ -0,0 +1,129 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/lsr_bytes_016.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 52.699) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 1 ] + - location: 11 (just consumed gas: 0.010) + [ 0x06 + 1 ] + - location: 14 (just consumed gas: 0.055) + [ 0x03 ] + - location: 15 (just consumed gas: 0.010) + [ 0x03 + 0x03 ] + - location: 20 (just consumed gas: 0.035) + [ 0 ] + - location: 21 (just consumed gas: 0.010) + [ True ] + - location: 22 (just consumed gas: 0) + [ ] + - location: 22 (just consumed gas: 0.015) + [ ] + - location: 28 (just consumed gas: 0.010) + [ 8 ] + - location: 31 (just consumed gas: 0.010) + [ 0x06 + 8 ] + - location: 34 (just consumed gas: 0.055) + [ 0x ] + - location: 35 (just consumed gas: 0.010) + [ 0x + 0x ] + - location: 40 (just consumed gas: 0.035) + [ 0 ] + - location: 41 (just consumed gas: 0.010) + [ True ] + - location: 42 (just consumed gas: 0) + [ ] + - location: 42 (just consumed gas: 0.015) + [ ] + - location: 48 (just consumed gas: 0.010) + [ 1 ] + - location: 51 (just consumed gas: 0.010) + [ 0x0006 + 1 ] + - location: 54 (just consumed gas: 0.056) + [ 0x0003 ] + - location: 55 (just consumed gas: 0.010) + [ 0x0003 + 0x0003 ] + - location: 60 (just consumed gas: 0.035) + [ 0 ] + - location: 61 (just consumed gas: 0.010) + [ True ] + - location: 62 (just consumed gas: 0) + [ ] + - location: 62 (just consumed gas: 0.015) + [ ] + - location: 68 (just consumed gas: 0.010) + [ 8 ] + - location: 71 (just consumed gas: 0.010) + [ 0x0006 + 8 ] + - location: 74 (just consumed gas: 0.055) + [ 0x00 ] + - location: 75 (just consumed gas: 0.010) + [ 0x00 + 0x00 ] + - location: 80 (just consumed gas: 0.035) + [ 0 ] + - location: 81 (just consumed gas: 0.010) + [ True ] + - location: 82 (just consumed gas: 0) + [ ] + - location: 82 (just consumed gas: 0.015) + [ ] + - location: 88 (just consumed gas: 0.010) + [ 0 ] + - location: 91 (just consumed gas: 0.010) + [ 0x001234 + 0 ] + - location: 94 (just consumed gas: 0.056) + [ 0x001234 ] + - location: 95 (just consumed gas: 0.010) + [ 0x001234 + 0x001234 ] + - location: 100 (just consumed gas: 0.035) + [ 0 ] + - location: 101 (just consumed gas: 0.010) + [ True ] + - location: 102 (just consumed gas: 0) + [ ] + - location: 102 (just consumed gas: 0.015) + [ ] + - location: 108 (just consumed gas: 0.010) + [ 30 ] + - location: 111 (just consumed gas: 0.010) + [ 0x001234 + 30 ] + - location: 114 (just consumed gas: 0.055) + [ 0x ] + - location: 115 (just consumed gas: 0.010) + [ 0x + 0x ] + - location: 120 (just consumed gas: 0.035) + [ 0 ] + - location: 121 (just consumed gas: 0.010) + [ True ] + - location: 122 (just consumed gas: 0) + [ ] + - location: 122 (just consumed gas: 0.015) + [ ] + - location: 128 (just consumed gas: 0.010) + [ Unit ] + - location: 129 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 131 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input1027566226-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input1027566226-.out new file mode 100644 index 000000000000..bd8f727fa152 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input1027566226-.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_id.tz on storage '{}' and input '{ Elt 0 0 }' --level 1 --trace-stack +storage + { Elt 0 0 } +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 4.716) + [ (Pair { Elt 0 0 } {}) ] + - location: 11 (just consumed gas: 0.010) + [ { Elt 0 0 } ] + - location: 12 (just consumed gas: 0.010) + [ {} + { Elt 0 0 } ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} { Elt 0 0 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input276660554-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input276660554-.out new file mode 100644 index 000000000000..c678cde749ff --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input276660554-.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_id.tz on storage '{}' and input '{ Elt 0 0 ; Elt 3 4 }' --level 1 --trace-stack +storage + { Elt 0 0 ; Elt 3 4 } +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 5.031) + [ (Pair { Elt 0 0 ; Elt 3 4 } {}) ] + - location: 11 (just consumed gas: 0.010) + [ { Elt 0 0 ; Elt 3 4 } ] + - location: 12 (just consumed gas: 0.010) + [ {} + { Elt 0 0 ; Elt 3 4 } ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} { Elt 0 0 ; Elt 3 4 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input599923743-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input599923743-.out new file mode 100644 index 000000000000..d60b7dade41b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_id--storage457300675--input599923743-.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_id.tz on storage '{}' and input '{ Elt 0 1 }' --level 1 --trace-stack +storage + { Elt 0 1 } +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 4.716) + [ (Pair { Elt 0 1 } {}) ] + - location: 11 (just consumed gas: 0.010) + [ { Elt 0 1 } ] + - location: 12 (just consumed gas: 0.010) + [ {} + { Elt 0 1 } ] + - location: 14 (just consumed gas: 0.010) + [ (Pair {} { Elt 0 1 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_iter--storage1011138251--input403579222-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_iter--storage1011138251--input403579222-.out new file mode 100644 index 000000000000..889192c90528 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_iter--storage1011138251--input403579222-.out @@ -0,0 +1,152 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_iter.tz on storage '(Pair 0 0)' and input '{ Elt 1 1 ; Elt 2 100 }' --level 1 --trace-stack +storage + (Pair 3 101) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 18.616) + [ (Pair { Elt 1 1 ; Elt 2 100 } 0 0) ] + - location: 11 (just consumed gas: 0.010) + [ { Elt 1 1 ; Elt 2 100 } ] + - location: 12 (just consumed gas: 0.010) + [ 0 + { Elt 1 1 ; Elt 2 100 } ] + - location: 15 (just consumed gas: 0.010) + [ 0 + 0 + { Elt 1 1 ; Elt 2 100 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair 0 0) + { Elt 1 1 ; Elt 2 100 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 1 1 ; Elt 2 100 } + (Pair 0 0) ] + - location: 20 (just consumed gas: 0) + [ (Pair 1 1) + (Pair 0 0) ] + - location: 22 (just consumed gas: 0) + [ (Pair 0 0) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair 0 0) + (Pair 0 0) ] + - location: 25 (just consumed gas: 0.010) + [ 0 + (Pair 0 0) ] + - location: 26 (just consumed gas: 0) + [ (Pair 0 0) ] + - location: 28 (just consumed gas: 0.010) + [ 0 ] + - location: 26 (just consumed gas: 0.025) + [ 0 + 0 ] + - location: 22 (just consumed gas: 0.025) + [ (Pair 1 1) + 0 + 0 ] + - location: 29 (just consumed gas: 0.010) + [ (Pair 1 1) + (Pair 1 1) + 0 + 0 ] + - location: 30 (just consumed gas: 0) + [ (Pair 1 1) + 0 + 0 ] + - location: 32 (just consumed gas: 0.010) + [ 1 + 0 + 0 ] + - location: 33 (just consumed gas: 0.035) + [ 1 + 0 ] + - location: 30 (just consumed gas: 0.025) + [ (Pair 1 1) + 1 + 0 ] + - location: 34 (just consumed gas: 0.010) + [ 1 + (Pair 1 1) + 0 ] + - location: 35 (just consumed gas: 0) + [ (Pair 1 1) + 0 ] + - location: 37 (just consumed gas: 0.010) + [ 1 + 0 ] + - location: 38 (just consumed gas: 0.035) + [ 1 ] + - location: 35 (just consumed gas: 0.025) + [ 1 + 1 ] + - location: 39 (just consumed gas: 0.010) + [ (Pair 1 1) ] + - location: 20 (just consumed gas: 0.015) + [ (Pair 2 100) + (Pair 1 1) ] + - location: 22 (just consumed gas: 0) + [ (Pair 1 1) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair 1 1) + (Pair 1 1) ] + - location: 25 (just consumed gas: 0.010) + [ 1 + (Pair 1 1) ] + - location: 26 (just consumed gas: 0) + [ (Pair 1 1) ] + - location: 28 (just consumed gas: 0.010) + [ 1 ] + - location: 26 (just consumed gas: 0.025) + [ 1 + 1 ] + - location: 22 (just consumed gas: 0.025) + [ (Pair 2 100) + 1 + 1 ] + - location: 29 (just consumed gas: 0.010) + [ (Pair 2 100) + (Pair 2 100) + 1 + 1 ] + - location: 30 (just consumed gas: 0) + [ (Pair 2 100) + 1 + 1 ] + - location: 32 (just consumed gas: 0.010) + [ 2 + 1 + 1 ] + - location: 33 (just consumed gas: 0.035) + [ 3 + 1 ] + - location: 30 (just consumed gas: 0.025) + [ (Pair 2 100) + 3 + 1 ] + - location: 34 (just consumed gas: 0.010) + [ 3 + (Pair 2 100) + 1 ] + - location: 35 (just consumed gas: 0) + [ (Pair 2 100) + 1 ] + - location: 37 (just consumed gas: 0.010) + [ 100 + 1 ] + - location: 38 (just consumed gas: 0.035) + [ 101 ] + - location: 35 (just consumed gas: 0.025) + [ 3 + 101 ] + - location: 39 (just consumed gas: 0.010) + [ (Pair 3 101) ] + - location: 20 (just consumed gas: 0.015) + [ (Pair 3 101) ] + - location: 40 (just consumed gas: 0.010) + [ {} + (Pair 3 101) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair {} 3 101) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_iter--storage1011138251--input532072758-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_iter--storage1011138251--input532072758-.out new file mode 100644 index 000000000000..48288774280f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_iter--storage1011138251--input532072758-.out @@ -0,0 +1,152 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_iter.tz on storage '(Pair 0 0)' and input '{ Elt 0 100 ; Elt 2 100 }' --level 1 --trace-stack +storage + (Pair 2 200) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 18.616) + [ (Pair { Elt 0 100 ; Elt 2 100 } 0 0) ] + - location: 11 (just consumed gas: 0.010) + [ { Elt 0 100 ; Elt 2 100 } ] + - location: 12 (just consumed gas: 0.010) + [ 0 + { Elt 0 100 ; Elt 2 100 } ] + - location: 15 (just consumed gas: 0.010) + [ 0 + 0 + { Elt 0 100 ; Elt 2 100 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair 0 0) + { Elt 0 100 ; Elt 2 100 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 0 100 ; Elt 2 100 } + (Pair 0 0) ] + - location: 20 (just consumed gas: 0) + [ (Pair 0 100) + (Pair 0 0) ] + - location: 22 (just consumed gas: 0) + [ (Pair 0 0) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair 0 0) + (Pair 0 0) ] + - location: 25 (just consumed gas: 0.010) + [ 0 + (Pair 0 0) ] + - location: 26 (just consumed gas: 0) + [ (Pair 0 0) ] + - location: 28 (just consumed gas: 0.010) + [ 0 ] + - location: 26 (just consumed gas: 0.025) + [ 0 + 0 ] + - location: 22 (just consumed gas: 0.025) + [ (Pair 0 100) + 0 + 0 ] + - location: 29 (just consumed gas: 0.010) + [ (Pair 0 100) + (Pair 0 100) + 0 + 0 ] + - location: 30 (just consumed gas: 0) + [ (Pair 0 100) + 0 + 0 ] + - location: 32 (just consumed gas: 0.010) + [ 0 + 0 + 0 ] + - location: 33 (just consumed gas: 0.035) + [ 0 + 0 ] + - location: 30 (just consumed gas: 0.025) + [ (Pair 0 100) + 0 + 0 ] + - location: 34 (just consumed gas: 0.010) + [ 0 + (Pair 0 100) + 0 ] + - location: 35 (just consumed gas: 0) + [ (Pair 0 100) + 0 ] + - location: 37 (just consumed gas: 0.010) + [ 100 + 0 ] + - location: 38 (just consumed gas: 0.035) + [ 100 ] + - location: 35 (just consumed gas: 0.025) + [ 0 + 100 ] + - location: 39 (just consumed gas: 0.010) + [ (Pair 0 100) ] + - location: 20 (just consumed gas: 0.015) + [ (Pair 2 100) + (Pair 0 100) ] + - location: 22 (just consumed gas: 0) + [ (Pair 0 100) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair 0 100) + (Pair 0 100) ] + - location: 25 (just consumed gas: 0.010) + [ 0 + (Pair 0 100) ] + - location: 26 (just consumed gas: 0) + [ (Pair 0 100) ] + - location: 28 (just consumed gas: 0.010) + [ 100 ] + - location: 26 (just consumed gas: 0.025) + [ 0 + 100 ] + - location: 22 (just consumed gas: 0.025) + [ (Pair 2 100) + 0 + 100 ] + - location: 29 (just consumed gas: 0.010) + [ (Pair 2 100) + (Pair 2 100) + 0 + 100 ] + - location: 30 (just consumed gas: 0) + [ (Pair 2 100) + 0 + 100 ] + - location: 32 (just consumed gas: 0.010) + [ 2 + 0 + 100 ] + - location: 33 (just consumed gas: 0.035) + [ 2 + 100 ] + - location: 30 (just consumed gas: 0.025) + [ (Pair 2 100) + 2 + 100 ] + - location: 34 (just consumed gas: 0.010) + [ 2 + (Pair 2 100) + 100 ] + - location: 35 (just consumed gas: 0) + [ (Pair 2 100) + 100 ] + - location: 37 (just consumed gas: 0.010) + [ 100 + 100 ] + - location: 38 (just consumed gas: 0.035) + [ 200 ] + - location: 35 (just consumed gas: 0.025) + [ 2 + 200 ] + - location: 39 (just consumed gas: 0.010) + [ (Pair 2 200) ] + - location: 20 (just consumed gas: 0.015) + [ (Pair 2 200) ] + - location: 40 (just consumed gas: 0.010) + [ {} + (Pair 2 200) ] + - location: 42 (just consumed gas: 0.010) + [ (Pair {} 2 200) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage457300675--input798141440-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage457300675--input798141440-.out new file mode 100644 index 000000000000..6c8cb597c41a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage457300675--input798141440-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_map.tz on storage '{}' and input 10 --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 9.216) + [ (Pair 10 {}) ] + - location: 9 (just consumed gas: 0.010) + [ 10 + {} ] + - location: 10 (just consumed gas: 0.010) + [ {} + 10 ] + - location: 11 (just consumed gas: 0) + [ {} + 10 ] + - location: 18 (just consumed gas: 0) + [ 10 ] + - location: 20 (just consumed gas: 0.010) + [ ] + - location: 18 (just consumed gas: 0.025) + [ {} ] + - location: 21 (just consumed gas: 0.010) + [ {} + {} ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage794999348--input152441147-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage794999348--input152441147-.out new file mode 100644 index 000000000000..d52d16a2b452 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage794999348--input152441147-.out @@ -0,0 +1,68 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_map.tz on storage '{ Elt "bar" 5 ; Elt "foo" 1 }' and input 15 --level 1 --trace-stack +storage + { Elt "bar" 20 ; Elt "foo" 16 } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 9.917) + [ (Pair 15 { Elt "bar" 5 ; Elt "foo" 1 }) ] + - location: 9 (just consumed gas: 0.010) + [ 15 + { Elt "bar" 5 ; Elt "foo" 1 } ] + - location: 10 (just consumed gas: 0.010) + [ { Elt "bar" 5 ; Elt "foo" 1 } + 15 ] + - location: 11 (just consumed gas: 0) + [ (Pair "bar" 5) + 15 ] + - location: 13 (just consumed gas: 0.010) + [ 5 + 15 ] + - location: 14 (just consumed gas: 0) + [ 15 ] + - location: 16 (just consumed gas: 0.010) + [ 15 + 15 ] + - location: 14 (just consumed gas: 0.025) + [ 5 + 15 + 15 ] + - location: 17 (just consumed gas: 0.035) + [ 20 + 15 ] + - location: 11 (just consumed gas: 0.015) + [ (Pair "foo" 1) + 15 ] + - location: 13 (just consumed gas: 0.010) + [ 1 + 15 ] + - location: 14 (just consumed gas: 0) + [ 15 ] + - location: 16 (just consumed gas: 0.010) + [ 15 + 15 ] + - location: 14 (just consumed gas: 0.025) + [ 1 + 15 + 15 ] + - location: 17 (just consumed gas: 0.035) + [ 16 + 15 ] + - location: 11 (just consumed gas: 0.015) + [ { Elt "bar" 20 ; Elt "foo" 16 } + 15 ] + - location: 18 (just consumed gas: 0) + [ 15 ] + - location: 20 (just consumed gas: 0.010) + [ ] + - location: 18 (just consumed gas: 0.025) + [ { Elt "bar" 20 ; Elt "foo" 16 } ] + - location: 21 (just consumed gas: 0.010) + [ {} + { Elt "bar" 20 ; Elt "foo" 16 } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "bar" 20 ; Elt "foo" 16 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage88008216--input798141440-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage88008216--input798141440-.out new file mode 100644 index 000000000000..40aadc26f5ed --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_map--storage88008216--input798141440-.out @@ -0,0 +1,50 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_map.tz on storage '{ Elt "foo" 1 }' and input 10 --level 1 --trace-stack +storage + { Elt "foo" 11 } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 9.546) + [ (Pair 10 { Elt "foo" 1 }) ] + - location: 9 (just consumed gas: 0.010) + [ 10 + { Elt "foo" 1 } ] + - location: 10 (just consumed gas: 0.010) + [ { Elt "foo" 1 } + 10 ] + - location: 11 (just consumed gas: 0) + [ (Pair "foo" 1) + 10 ] + - location: 13 (just consumed gas: 0.010) + [ 1 + 10 ] + - location: 14 (just consumed gas: 0) + [ 10 ] + - location: 16 (just consumed gas: 0.010) + [ 10 + 10 ] + - location: 14 (just consumed gas: 0.025) + [ 1 + 10 + 10 ] + - location: 17 (just consumed gas: 0.035) + [ 11 + 10 ] + - location: 11 (just consumed gas: 0.015) + [ { Elt "foo" 11 } + 10 ] + - location: 18 (just consumed gas: 0) + [ 10 ] + - location: 20 (just consumed gas: 0.010) + [ ] + - location: 18 (just consumed gas: 0.025) + [ { Elt "foo" 11 } ] + - location: 21 (just consumed gas: 0.010) + [ {} + { Elt "foo" 11 } ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "foo" 11 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage495706788--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage495706788--input453441034-.out new file mode 100644 index 000000000000..f7901876324d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage495706788--input453441034-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_nat.tz on storage '(Pair {} None)' and input 1 --level 1 --trace-stack +storage + (Pair {} (Some False)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 9.436) + [ (Pair 1 {} None) ] + - location: 12 (just consumed gas: 0.010) + [ 1 + (Pair {} None) ] + - location: 13 (just consumed gas: 0) + [ (Pair {} None) ] + - location: 15 (just consumed gas: 0.010) + [ {} ] + - location: 16 (just consumed gas: 0.010) + [ {} + {} ] + - location: 13 (just consumed gas: 0.025) + [ 1 + {} + {} ] + - location: 17 (just consumed gas: 0.080) + [ False + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + {} ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair {} (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input453441034-.out new file mode 100644 index 000000000000..789600ca9312 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input453441034-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_nat.tz on storage '(Pair { Elt 1 4 ; Elt 2 11 } None)' and input 1 --level 1 --trace-stack +storage + (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 10.031) + [ (Pair 1 { Elt 1 4 ; Elt 2 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 1 + (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 13 (just consumed gas: 0.025) + [ 1 + { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 17 (just consumed gas: 0.080) + [ True + { Elt 1 4 ; Elt 2 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt 1 4 ; Elt 2 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input564400327-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input564400327-.out new file mode 100644 index 000000000000..50312b0359db --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input564400327-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_nat.tz on storage '(Pair { Elt 1 4 ; Elt 2 11 } None)' and input 2 --level 1 --trace-stack +storage + (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 10.031) + [ (Pair 2 { Elt 1 4 ; Elt 2 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 2 + (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 13 (just consumed gas: 0.025) + [ 2 + { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 17 (just consumed gas: 0.080) + [ True + { Elt 1 4 ; Elt 2 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt 1 4 ; Elt 2 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 1 4 ; Elt 2 11 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input654274102-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input654274102-.out new file mode 100644 index 000000000000..00393e51945e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage56274299--input654274102-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_nat.tz on storage '(Pair { Elt 1 4 ; Elt 2 11 } None)' and input 3 --level 1 --trace-stack +storage + (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 10.031) + [ (Pair 3 { Elt 1 4 ; Elt 2 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 3 + (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 1 4 ; Elt 2 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 13 (just consumed gas: 0.025) + [ 3 + { Elt 1 4 ; Elt 2 11 } + { Elt 1 4 ; Elt 2 11 } ] + - location: 17 (just consumed gas: 0.080) + [ False + { Elt 1 4 ; Elt 2 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + { Elt 1 4 ; Elt 2 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 1 4 ; Elt 2 11 } + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 1 4 ; Elt 2 11 } (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 1 4 ; Elt 2 11 } (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage690637660--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage690637660--input453441034-.out new file mode 100644 index 000000000000..2df9f7873a20 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage690637660--input453441034-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_nat.tz on storage '(Pair { Elt 1 0 } None)' and input 1 --level 1 --trace-stack +storage + (Pair { Elt 1 0 } (Some True)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 9.716) + [ (Pair 1 { Elt 1 0 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 1 + (Pair { Elt 1 0 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 1 0 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 1 0 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 1 0 } + { Elt 1 0 } ] + - location: 13 (just consumed gas: 0.025) + [ 1 + { Elt 1 0 } + { Elt 1 0 } ] + - location: 17 (just consumed gas: 0.080) + [ True + { Elt 1 0 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt 1 0 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 1 0 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 1 0 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 1 0 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 1 0 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage806237530--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage806237530--input453441034-.out new file mode 100644 index 000000000000..31ce9622ce84 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_nat--storage806237530--input453441034-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_nat.tz on storage '(Pair { Elt 0 1 } None)' and input 1 --level 1 --trace-stack +storage + (Pair { Elt 0 1 } (Some False)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 9.716) + [ (Pair 1 { Elt 0 1 } None) ] + - location: 12 (just consumed gas: 0.010) + [ 1 + (Pair { Elt 0 1 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt 0 1 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt 0 1 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt 0 1 } + { Elt 0 1 } ] + - location: 13 (just consumed gas: 0.025) + [ 1 + { Elt 0 1 } + { Elt 0 1 } ] + - location: 17 (just consumed gas: 0.080) + [ False + { Elt 0 1 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + { Elt 0 1 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt 0 1 } + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt 0 1 } (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt 0 1 } (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt 0 1 } (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input1071610051-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input1071610051-.out new file mode 100644 index 000000000000..14b5749f1d39 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input1071610051-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_string.tz on storage '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)' and input '"baz"' --level 1 --trace-stack +storage + (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 10.181) + [ (Pair "baz" { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "baz" + (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 13 (just consumed gas: 0.025) + [ "baz" + { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 17 (just consumed gas: 0.089) + [ False + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input700475845-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input700475845-.out new file mode 100644 index 000000000000..5f2e6fcfc258 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input700475845-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_string.tz on storage '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)' and input '"bar"' --level 1 --trace-stack +storage + (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 10.181) + [ (Pair "bar" { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "bar" + (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 13 (just consumed gas: 0.025) + [ "bar" + { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 17 (just consumed gas: 0.089) + [ True + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input905318451-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input905318451-.out new file mode 100644 index 000000000000..03e1c141ac57 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage109689253--input905318451-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_string.tz on storage '(Pair { Elt "bar" 4 ; Elt "foo" 11 } None)' and input '"foo"' --level 1 --trace-stack +storage + (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 10.181) + [ (Pair "foo" { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "foo" + (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 13 (just consumed gas: 0.025) + [ "foo" + { Elt "bar" 4 ; Elt "foo" 11 } + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 17 (just consumed gas: 0.089) + [ True + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt "bar" 4 ; Elt "foo" 11 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "bar" 4 ; Elt "foo" 11 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "bar" 4 ; Elt "foo" 11 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage495706788--input700475845-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage495706788--input700475845-.out new file mode 100644 index 000000000000..3175f3bb44be --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage495706788--input700475845-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_string.tz on storage '(Pair {} None)' and input '"bar"' --level 1 --trace-stack +storage + (Pair {} (Some False)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 9.480) + [ (Pair "bar" {} None) ] + - location: 12 (just consumed gas: 0.010) + [ "bar" + (Pair {} None) ] + - location: 13 (just consumed gas: 0) + [ (Pair {} None) ] + - location: 15 (just consumed gas: 0.010) + [ {} ] + - location: 16 (just consumed gas: 0.010) + [ {} + {} ] + - location: 13 (just consumed gas: 0.025) + [ "bar" + {} + {} ] + - location: 17 (just consumed gas: 0.083) + [ False + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + {} ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair {} (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage915708427--input700475845-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage915708427--input700475845-.out new file mode 100644 index 000000000000..006c4c4fabe6 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage915708427--input700475845-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_string.tz on storage '(Pair { Elt "foo" 1 } None)' and input '"bar"' --level 1 --trace-stack +storage + (Pair { Elt "foo" 1 } (Some False)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 9.810) + [ (Pair "bar" { Elt "foo" 1 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "bar" + (Pair { Elt "foo" 1 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "foo" 1 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "foo" 1 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "foo" 1 } + { Elt "foo" 1 } ] + - location: 13 (just consumed gas: 0.025) + [ "bar" + { Elt "foo" 1 } + { Elt "foo" 1 } ] + - location: 17 (just consumed gas: 0.086) + [ False + { Elt "foo" 1 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some False) + { Elt "foo" 1 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "foo" 1 } + (Some False) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "foo" 1 } (Some False)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "foo" 1 } (Some False)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "foo" 1 } (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage936682951--input905318451-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage936682951--input905318451-.out new file mode 100644 index 000000000000..f70572ca7d69 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_mem_string--storage936682951--input905318451-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_mem_string.tz on storage '(Pair { Elt "foo" 0 } None)' and input '"foo"' --level 1 --trace-stack +storage + (Pair { Elt "foo" 0 } (Some True)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 9.810) + [ (Pair "foo" { Elt "foo" 0 } None) ] + - location: 12 (just consumed gas: 0.010) + [ "foo" + (Pair { Elt "foo" 0 } None) ] + - location: 13 (just consumed gas: 0) + [ (Pair { Elt "foo" 0 } None) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "foo" 0 } ] + - location: 16 (just consumed gas: 0.010) + [ { Elt "foo" 0 } + { Elt "foo" 0 } ] + - location: 13 (just consumed gas: 0.025) + [ "foo" + { Elt "foo" 0 } + { Elt "foo" 0 } ] + - location: 17 (just consumed gas: 0.086) + [ True + { Elt "foo" 0 } ] + - location: 18 (just consumed gas: 0.010) + [ (Some True) + { Elt "foo" 0 } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "foo" 0 } + (Some True) ] + - location: 20 (just consumed gas: 0.010) + [ (Pair { Elt "foo" 0 } (Some True)) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair { Elt "foo" 0 } (Some True)) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} { Elt "foo" 0 } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input15265129-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input15265129-.out new file mode 100644 index 000000000000..9577e0d2b387 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input15265129-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_size.tz on storage 111 and input '{ Elt "a" 1 }' --level 1 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.829) + [ (Pair { Elt "a" 1 } 111) ] + - location: 9 (just consumed gas: 0.010) + [ { Elt "a" 1 } ] + - location: 10 (just consumed gas: 0.010) + [ 1 ] + - location: 11 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input158311065-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input158311065-.out new file mode 100644 index 000000000000..24826ad3e9b4 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input158311065-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_size.tz on storage 111 and input '{ Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 }' --level 1 --trace-stack +storage + 3 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 5.517) + [ (Pair { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 } 111) ] + - location: 9 (just consumed gas: 0.010) + [ { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 } ] + - location: 10 (just consumed gas: 0.010) + [ 3 ] + - location: 11 (just consumed gas: 0.010) + [ {} + 3 ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} 3) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input456982702-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input456982702-.out new file mode 100644 index 000000000000..55f88c849ad6 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input456982702-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_size.tz on storage 111 and input '{ Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 ; Elt "d" 4 ; Elt "e" 5 ; Elt "f" 6 }' --level 1 --trace-stack +storage + 6 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.556) + [ (Pair { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 ; Elt "d" 4 ; Elt "e" 5 ; Elt "f" 6 } 111) ] + - location: 9 (just consumed gas: 0.010) + [ { Elt "a" 1 ; Elt "b" 2 ; Elt "c" 3 ; Elt "d" 4 ; Elt "e" 5 ; Elt "f" 6 } ] + - location: 10 (just consumed gas: 0.010) + [ 6 ] + - location: 11 (just consumed gas: 0.010) + [ {} + 6 ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} 6) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input457300675-.out new file mode 100644 index 000000000000..a9b375fc32fd --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -map_size--storage492856247--input457300675-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/map_size.tz on storage 111 and input '{}' --level 1 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.523) + [ (Pair {} 111) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0.010) + [ 0 ] + - location: 11 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mul--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mul--storage125992234--input125992234-.out new file mode 100644 index 000000000000..533d0e68815d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mul--storage125992234--input125992234-.out @@ -0,0 +1,131 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/mul.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 50.799) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ Unit ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.010) + [ 7987 ] + - location: 12 (just consumed gas: 0.010) + [ 10 + 7987 ] + - location: 15 (just consumed gas: 0) + [ 79870 ] + - location: 16 (just consumed gas: 0.010) + [ 79870 + 79870 ] + - location: 19 (just consumed gas: 0.035) + [ 0 ] + - location: 21 (just consumed gas: 0.010) + [ True ] + - location: 22 (just consumed gas: 0) + [ ] + - location: 22 (just consumed gas: 0.015) + [ ] + - location: 28 (just consumed gas: 0.010) + [ 10 ] + - location: 31 (just consumed gas: 0.010) + [ 7987 + 10 ] + - location: 34 (just consumed gas: 0) + [ 79870 ] + - location: 35 (just consumed gas: 0.010) + [ 79870 + 79870 ] + - location: 38 (just consumed gas: 0.035) + [ 0 ] + - location: 40 (just consumed gas: 0.010) + [ True ] + - location: 41 (just consumed gas: 0) + [ ] + - location: 41 (just consumed gas: 0.015) + [ ] + - location: 47 (just consumed gas: 0.010) + [ 10 ] + - location: 50 (just consumed gas: 0.010) + [ -7987 + 10 ] + - location: 53 (just consumed gas: 0.061) + [ -79870 ] + - location: 54 (just consumed gas: 0.010) + [ -79870 + -79870 ] + - location: 57 (just consumed gas: 0.035) + [ 0 ] + - location: 59 (just consumed gas: 0.010) + [ True ] + - location: 60 (just consumed gas: 0) + [ ] + - location: 60 (just consumed gas: 0.015) + [ ] + - location: 66 (just consumed gas: 0.010) + [ 10 ] + - location: 69 (just consumed gas: 0.010) + [ -7987 + 10 ] + - location: 72 (just consumed gas: 0.061) + [ -79870 ] + - location: 73 (just consumed gas: 0.010) + [ -79870 + -79870 ] + - location: 76 (just consumed gas: 0.035) + [ 0 ] + - location: 78 (just consumed gas: 0.010) + [ True ] + - location: 79 (just consumed gas: 0) + [ ] + - location: 79 (just consumed gas: 0.015) + [ ] + - location: 85 (just consumed gas: 0.010) + [ -10 ] + - location: 88 (just consumed gas: 0.010) + [ 7987 + -10 ] + - location: 91 (just consumed gas: 0.061) + [ -79870 ] + - location: 92 (just consumed gas: 0.010) + [ -79870 + -79870 ] + - location: 95 (just consumed gas: 0.035) + [ 0 ] + - location: 97 (just consumed gas: 0.010) + [ True ] + - location: 98 (just consumed gas: 0) + [ ] + - location: 98 (just consumed gas: 0.015) + [ ] + - location: 104 (just consumed gas: 0.010) + [ 10 ] + - location: 107 (just consumed gas: 0.010) + [ 7987 + 10 ] + - location: 110 (just consumed gas: 0.061) + [ 79870 ] + - location: 111 (just consumed gas: 0.010) + [ 79870 + 79870 ] + - location: 114 (just consumed gas: 0.035) + [ 0 ] + - location: 116 (just consumed gas: 0.010) + [ True ] + - location: 117 (just consumed gas: 0) + [ ] + - location: 117 (just consumed gas: 0.015) + [ ] + - location: 123 (just consumed gas: 0.010) + [ Unit ] + - location: 124 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 126 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mutez_to_bls12_381_fr--storage151303925--input216277421-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mutez_to_bls12_381_fr--storage151303925--input216277421-.out new file mode 100644 index 000000000000..aa5377c83cb9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mutez_to_bls12_381_fr--storage151303925--input216277421-.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/mutez_to_bls12_381_fr.tz on storage 0x00 and input 257 --level 1 --trace-stack +storage + 0x0101000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 10.947) + [ (Pair 257 0x0000000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 257 ] + - location: 8 (just consumed gas: 0.010) + [ 1 + 257 ] + - location: 11 (just consumed gas: 0.010) + [ 257 + 1 ] + - location: 12 (just consumed gas: 0.080) + [ (Some (Pair 257 0)) ] + - location: 14 (just consumed gas: 0) + [ (Pair 257 0) ] + - location: 14 (just consumed gas: 0.015) + [ (Pair 257 0) ] + - location: 20 (just consumed gas: 0.010) + [ 257 ] + - location: 21 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 257 ] + - location: 24 (just consumed gas: 0.267) + [ 0x0101000000000000000000000000000000000000000000000000000000000000 ] + - location: 25 (just consumed gas: 0.010) + [ {} + 0x0101000000000000000000000000000000000000000000000000000000000000 ] + - location: 27 (just consumed gas: 0.010) + [ (Pair {} 0x0101000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mutez_to_bls12_381_fr--storage287799761--input485842614-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mutez_to_bls12_381_fr--storage287799761--input485842614-.out new file mode 100644 index 000000000000..33b9892e1eda --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -mutez_to_bls12_381_fr--storage287799761--input485842614-.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/mutez_to_bls12_381_fr.tz on storage 0x02 and input 16 --level 1 --trace-stack +storage + 0x1000000000000000000000000000000000000000000000000000000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 10.947) + [ (Pair 16 0x0200000000000000000000000000000000000000000000000000000000000000) ] + - location: 7 (just consumed gas: 0.010) + [ 16 ] + - location: 8 (just consumed gas: 0.010) + [ 1 + 16 ] + - location: 11 (just consumed gas: 0.010) + [ 16 + 1 ] + - location: 12 (just consumed gas: 0.080) + [ (Some (Pair 16 0)) ] + - location: 14 (just consumed gas: 0) + [ (Pair 16 0) ] + - location: 14 (just consumed gas: 0.015) + [ (Pair 16 0) ] + - location: 20 (just consumed gas: 0.010) + [ 16 ] + - location: 21 (just consumed gas: 0.010) + [ 0x0100000000000000000000000000000000000000000000000000000000000000 + 16 ] + - location: 24 (just consumed gas: 0.266) + [ 0x1000000000000000000000000000000000000000000000000000000000000000 ] + - location: 25 (just consumed gas: 0.010) + [ {} + 0x1000000000000000000000000000000000000000000000000000000000000000 ] + - location: 27 (just consumed gas: 0.010) + [ (Pair {} 0x1000000000000000000000000000000000000000000000000000000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input1067298059-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input1067298059-.out new file mode 100644 index 000000000000..8043e4fd77ce --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input1067298059-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/neg.tz on storage 0 and input '(Left -2)' --level 1 --trace-stack +storage + 2 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.169) + [ (Pair (Left -2) 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Left -2) ] + - location: 10 (just consumed gas: 0) + [ -2 ] + - location: 12 (just consumed gas: 0.025) + [ 2 ] + - location: 10 (just consumed gas: 0.015) + [ 2 ] + - location: 15 (just consumed gas: 0.010) + [ {} + 2 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair {} 2) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input380029349-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input380029349-.out new file mode 100644 index 000000000000..d4a21c9c4244 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input380029349-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/neg.tz on storage 0 and input '(Right 2)' --level 1 --trace-stack +storage + -2 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.169) + [ (Pair (Right 2) 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Right 2) ] + - location: 10 (just consumed gas: 0) + [ 2 ] + - location: 14 (just consumed gas: 0.025) + [ -2 ] + - location: 10 (just consumed gas: 0.015) + [ -2 ] + - location: 15 (just consumed gas: 0.010) + [ {} + -2 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair {} -2) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input563503226-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input563503226-.out new file mode 100644 index 000000000000..b478553158f7 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input563503226-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/neg.tz on storage 0 and input '(Left 2)' --level 1 --trace-stack +storage + -2 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.169) + [ (Pair (Left 2) 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Left 2) ] + - location: 10 (just consumed gas: 0) + [ 2 ] + - location: 12 (just consumed gas: 0.025) + [ -2 ] + - location: 10 (just consumed gas: 0.015) + [ -2 ] + - location: 15 (just consumed gas: 0.010) + [ {} + -2 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair {} -2) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input788662499-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input788662499-.out new file mode 100644 index 000000000000..30b1dd797558 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input788662499-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/neg.tz on storage 0 and input '(Right 0)' --level 1 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.169) + [ (Pair (Right 0) 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Right 0) ] + - location: 10 (just consumed gas: 0) + [ 0 ] + - location: 14 (just consumed gas: 0.025) + [ 0 ] + - location: 10 (just consumed gas: 0.015) + [ 0 ] + - location: 15 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair {} 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input972832189-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input972832189-.out new file mode 100644 index 000000000000..4c7b95ca6e0e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -neg--storage680650890--input972832189-.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/neg.tz on storage 0 and input '(Left 0)' --level 1 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.169) + [ (Pair (Left 0) 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Left 0) ] + - location: 10 (just consumed gas: 0) + [ 0 ] + - location: 12 (just consumed gas: 0.025) + [ 0 ] + - location: 10 (just consumed gas: 0.015) + [ 0 ] + - location: 15 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair {} 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -none--storage11179311--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -none--storage11179311--input125992234-.out new file mode 100644 index 000000000000..a53f992f0c17 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -none--storage11179311--input125992234-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/none.tz on storage 'Some 10' and input Unit --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.773) + [ (Pair Unit (Some 10)) ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.010) + [ None ] + - location: 11 (just consumed gas: 0.010) + [ {} + None ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not--storage921624073--input570553153-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not--storage921624073--input570553153-.out new file mode 100644 index 000000000000..03e8f0bcdc91 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not--storage921624073--input570553153-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not.tz on storage None and input False --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.053) + [ (Pair False None) ] + - location: 8 (just consumed gas: 0.010) + [ False ] + - location: 9 (just consumed gas: 0.010) + [ True ] + - location: 10 (just consumed gas: 0.010) + [ (Some True) ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not--storage921624073--input954397288-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not--storage921624073--input954397288-.out new file mode 100644 index 000000000000..21f3dfa3e8c6 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not--storage921624073--input954397288-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not.tz on storage None and input True --level 1 --trace-stack +storage + (Some False) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.053) + [ (Pair True None) ] + - location: 8 (just consumed gas: 0.010) + [ True ] + - location: 9 (just consumed gas: 0.010) + [ False ] + - location: 10 (just consumed gas: 0.010) + [ (Some False) ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input1051197453-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input1051197453-.out new file mode 100644 index 000000000000..63e83b9690b5 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input1051197453-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not_binary.tz on storage None and input '(Right 8)' --level 1 --trace-stack +storage + (Some -9) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.965) + [ (Pair (Right 8) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Right 8) ] + - location: 11 (just consumed gas: 0) + [ 8 ] + - location: 15 (just consumed gas: 0.025) + [ -9 ] + - location: 11 (just consumed gas: 0.015) + [ -9 ] + - location: 16 (just consumed gas: 0.010) + [ (Some -9) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some -9) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some -9)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input123939249-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input123939249-.out new file mode 100644 index 000000000000..dafaab910734 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input123939249-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not_binary.tz on storage None and input '(Left 7)' --level 1 --trace-stack +storage + (Some -8) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.965) + [ (Pair (Left 7) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Left 7) ] + - location: 11 (just consumed gas: 0) + [ 7 ] + - location: 13 (just consumed gas: 0.025) + [ -8 ] + - location: 11 (just consumed gas: 0.015) + [ -8 ] + - location: 16 (just consumed gas: 0.010) + [ (Some -8) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some -8) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some -8)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input24243730-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input24243730-.out new file mode 100644 index 000000000000..864884e8b664 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input24243730-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not_binary.tz on storage None and input '(Left -8)' --level 1 --trace-stack +storage + (Some 7) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.965) + [ (Pair (Left -8) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Left -8) ] + - location: 11 (just consumed gas: 0) + [ -8 ] + - location: 13 (just consumed gas: 0.025) + [ 7 ] + - location: 11 (just consumed gas: 0.015) + [ 7 ] + - location: 16 (just consumed gas: 0.010) + [ (Some 7) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some 7) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some 7)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input518945720-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input518945720-.out new file mode 100644 index 000000000000..44a9d837dfcf --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input518945720-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not_binary.tz on storage None and input '(Left 8)' --level 1 --trace-stack +storage + (Some -9) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.965) + [ (Pair (Left 8) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Left 8) ] + - location: 11 (just consumed gas: 0) + [ 8 ] + - location: 13 (just consumed gas: 0.025) + [ -9 ] + - location: 11 (just consumed gas: 0.015) + [ -9 ] + - location: 16 (just consumed gas: 0.010) + [ (Some -9) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some -9) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some -9)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input788662499-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input788662499-.out new file mode 100644 index 000000000000..56640deb26db --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input788662499-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not_binary.tz on storage None and input '(Right 0)' --level 1 --trace-stack +storage + (Some -1) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.965) + [ (Pair (Right 0) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Right 0) ] + - location: 11 (just consumed gas: 0) + [ 0 ] + - location: 15 (just consumed gas: 0.025) + [ -1 ] + - location: 11 (just consumed gas: 0.015) + [ -1 ] + - location: 16 (just consumed gas: 0.010) + [ (Some -1) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some -1) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some -1)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input906118781-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input906118781-.out new file mode 100644 index 000000000000..69c2626ba006 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input906118781-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not_binary.tz on storage None and input '(Right 7)' --level 1 --trace-stack +storage + (Some -8) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.965) + [ (Pair (Right 7) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Right 7) ] + - location: 11 (just consumed gas: 0) + [ 7 ] + - location: 15 (just consumed gas: 0.025) + [ -8 ] + - location: 11 (just consumed gas: 0.015) + [ -8 ] + - location: 16 (just consumed gas: 0.010) + [ (Some -8) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some -8) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some -8)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input921874253-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input921874253-.out new file mode 100644 index 000000000000..44111b3cc318 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input921874253-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not_binary.tz on storage None and input '(Left -9)' --level 1 --trace-stack +storage + (Some 8) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.965) + [ (Pair (Left -9) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Left -9) ] + - location: 11 (just consumed gas: 0) + [ -9 ] + - location: 13 (just consumed gas: 0.025) + [ 8 ] + - location: 11 (just consumed gas: 0.015) + [ 8 ] + - location: 16 (just consumed gas: 0.010) + [ (Some 8) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some 8) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some 8)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input972832189-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input972832189-.out new file mode 100644 index 000000000000..5ec2f214198f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_binary--storage921624073--input972832189-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not_binary.tz on storage None and input '(Left 0)' --level 1 --trace-stack +storage + (Some -1) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.965) + [ (Pair (Left 0) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Left 0) ] + - location: 11 (just consumed gas: 0) + [ 0 ] + - location: 13 (just consumed gas: 0.025) + [ -1 ] + - location: 11 (just consumed gas: 0.015) + [ -1 ] + - location: 16 (just consumed gas: 0.010) + [ (Some -1) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some -1) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some -1)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_bytes--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_bytes--storage125992234--input125992234-.out new file mode 100644 index 000000000000..971affd5d648 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -not_bytes--storage125992234--input125992234-.out @@ -0,0 +1,66 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/not_bytes_016.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 25.094) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 0x05 ] + - location: 11 (just consumed gas: 0.030) + [ 0xfa ] + - location: 12 (just consumed gas: 0.010) + [ 0xfa + 0xfa ] + - location: 17 (just consumed gas: 0.035) + [ 0 ] + - location: 18 (just consumed gas: 0.010) + [ True ] + - location: 19 (just consumed gas: 0) + [ ] + - location: 19 (just consumed gas: 0.015) + [ ] + - location: 25 (just consumed gas: 0.010) + [ 0x0005 ] + - location: 28 (just consumed gas: 0.031) + [ 0xfffa ] + - location: 29 (just consumed gas: 0.010) + [ 0xfffa + 0xfffa ] + - location: 34 (just consumed gas: 0.035) + [ 0 ] + - location: 35 (just consumed gas: 0.010) + [ True ] + - location: 36 (just consumed gas: 0) + [ ] + - location: 36 (just consumed gas: 0.015) + [ ] + - location: 42 (just consumed gas: 0.010) + [ 0xff05 ] + - location: 45 (just consumed gas: 0.031) + [ 0x00fa ] + - location: 46 (just consumed gas: 0.010) + [ 0x00fa + 0x00fa ] + - location: 51 (just consumed gas: 0.035) + [ 0 ] + - location: 52 (just consumed gas: 0.010) + [ True ] + - location: 53 (just consumed gas: 0) + [ ] + - location: 53 (just consumed gas: 0.015) + [ ] + - location: 59 (just consumed gas: 0.010) + [ Unit ] + - location: 60 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 62 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input106930123-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input106930123-.out new file mode 100644 index 000000000000..c8efcfa2d5ff --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input106930123-.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or.tz on storage None and input '(Pair False True)' --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.115) + [ (Pair (Pair False True) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair False True) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair False True) + (Pair False True) ] + - location: 12 (just consumed gas: 0.010) + [ False + (Pair False True) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair False True) + False ] + - location: 14 (just consumed gas: 0.010) + [ True + False ] + - location: 15 (just consumed gas: 0.010) + [ True ] + - location: 16 (just consumed gas: 0.010) + [ (Some True) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input181204719-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input181204719-.out new file mode 100644 index 000000000000..acfd1becdc18 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input181204719-.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or.tz on storage None and input '(Pair True False)' --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.115) + [ (Pair (Pair True False) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair True False) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair True False) + (Pair True False) ] + - location: 12 (just consumed gas: 0.010) + [ True + (Pair True False) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair True False) + True ] + - location: 14 (just consumed gas: 0.010) + [ False + True ] + - location: 15 (just consumed gas: 0.010) + [ True ] + - location: 16 (just consumed gas: 0.010) + [ (Some True) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input223774825-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input223774825-.out new file mode 100644 index 000000000000..40e38393c2eb --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input223774825-.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or.tz on storage None and input '(Pair False False)' --level 1 --trace-stack +storage + (Some False) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.115) + [ (Pair (Pair False False) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair False False) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair False False) + (Pair False False) ] + - location: 12 (just consumed gas: 0.010) + [ False + (Pair False False) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair False False) + False ] + - location: 14 (just consumed gas: 0.010) + [ False + False ] + - location: 15 (just consumed gas: 0.010) + [ False ] + - location: 16 (just consumed gas: 0.010) + [ (Some False) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input908807505-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input908807505-.out new file mode 100644 index 000000000000..a767add7091e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or--storage921624073--input908807505-.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or.tz on storage None and input '(Pair True True)' --level 1 --trace-stack +storage + (Some True) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 8.115) + [ (Pair (Pair True True) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair True True) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair True True) + (Pair True True) ] + - location: 12 (just consumed gas: 0.010) + [ True + (Pair True True) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair True True) + True ] + - location: 14 (just consumed gas: 0.010) + [ True + True ] + - location: 15 (just consumed gas: 0.010) + [ True ] + - location: 16 (just consumed gas: 0.010) + [ (Some True) ] + - location: 17 (just consumed gas: 0.010) + [ {} + (Some True) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair {} (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input1056991424-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input1056991424-.out new file mode 100644 index 000000000000..f448adfedf4c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input1056991424-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or_binary.tz on storage None and input '(Pair 0 8)' --level 1 --trace-stack +storage + (Some 8) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.141) + [ (Pair (Pair 0 8) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0 8) ] + - location: 11 (just consumed gas: 0.010) + [ 0 + 8 ] + - location: 12 (just consumed gas: 0.035) + [ 8 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 8) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 8) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some 8)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input375993021-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input375993021-.out new file mode 100644 index 000000000000..e56f243ccf5c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input375993021-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or_binary.tz on storage None and input '(Pair 14 1)' --level 1 --trace-stack +storage + (Some 15) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.141) + [ (Pair (Pair 14 1) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 14 1) ] + - location: 11 (just consumed gas: 0.010) + [ 14 + 1 ] + - location: 12 (just consumed gas: 0.035) + [ 15 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 15) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 15) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some 15)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input673240563-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input673240563-.out new file mode 100644 index 000000000000..aff7304635e8 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input673240563-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or_binary.tz on storage None and input '(Pair 8 0)' --level 1 --trace-stack +storage + (Some 8) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.141) + [ (Pair (Pair 8 0) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 8 0) ] + - location: 11 (just consumed gas: 0.010) + [ 8 + 0 ] + - location: 12 (just consumed gas: 0.035) + [ 8 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 8) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 8) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some 8)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input747448890-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input747448890-.out new file mode 100644 index 000000000000..2aaf55074e52 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input747448890-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or_binary.tz on storage None and input '(Pair 7 7)' --level 1 --trace-stack +storage + (Some 7) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.141) + [ (Pair (Pair 7 7) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 7 7) ] + - location: 11 (just consumed gas: 0.010) + [ 7 + 7 ] + - location: 12 (just consumed gas: 0.035) + [ 7 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 7) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 7) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some 7)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input832403787-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input832403787-.out new file mode 100644 index 000000000000..5259a760b0dd --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input832403787-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or_binary.tz on storage None and input '(Pair 15 4)' --level 1 --trace-stack +storage + (Some 15) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.141) + [ (Pair (Pair 15 4) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 15 4) ] + - location: 11 (just consumed gas: 0.010) + [ 15 + 4 ] + - location: 12 (just consumed gas: 0.035) + [ 15 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 15) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 15) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some 15)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input858098961-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input858098961-.out new file mode 100644 index 000000000000..84d5d6c93914 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_binary--storage921624073--input858098961-.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or_binary.tz on storage None and input '(Pair 4 8)' --level 1 --trace-stack +storage + (Some 12) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 6.141) + [ (Pair (Pair 4 8) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 4 8) ] + - location: 11 (just consumed gas: 0.010) + [ 4 + 8 ] + - location: 12 (just consumed gas: 0.035) + [ 12 ] + - location: 13 (just consumed gas: 0.010) + [ (Some 12) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some 12) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some 12)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_bytes--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_bytes--storage125992234--input125992234-.out new file mode 100644 index 000000000000..f6d7cc69a031 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -or_bytes--storage125992234--input125992234-.out @@ -0,0 +1,75 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/or_bytes_016.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 28.329) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 0x05 ] + - location: 11 (just consumed gas: 0.010) + [ 0x06 + 0x05 ] + - location: 14 (just consumed gas: 0.035) + [ 0x07 ] + - location: 15 (just consumed gas: 0.010) + [ 0x07 + 0x07 ] + - location: 20 (just consumed gas: 0.035) + [ 0 ] + - location: 21 (just consumed gas: 0.010) + [ True ] + - location: 22 (just consumed gas: 0) + [ ] + - location: 22 (just consumed gas: 0.015) + [ ] + - location: 28 (just consumed gas: 0.010) + [ 0x0005 ] + - location: 31 (just consumed gas: 0.010) + [ 0x0106 + 0x0005 ] + - location: 34 (just consumed gas: 0.036) + [ 0x0107 ] + - location: 35 (just consumed gas: 0.010) + [ 0x0107 + 0x0107 ] + - location: 40 (just consumed gas: 0.035) + [ 0 ] + - location: 41 (just consumed gas: 0.010) + [ True ] + - location: 42 (just consumed gas: 0) + [ ] + - location: 42 (just consumed gas: 0.015) + [ ] + - location: 48 (just consumed gas: 0.010) + [ 0x05 ] + - location: 51 (just consumed gas: 0.010) + [ 0x0106 + 0x05 ] + - location: 54 (just consumed gas: 0.036) + [ 0x0107 ] + - location: 55 (just consumed gas: 0.010) + [ 0x0107 + 0x0107 ] + - location: 60 (just consumed gas: 0.035) + [ 0 ] + - location: 61 (just consumed gas: 0.010) + [ True ] + - location: 62 (just consumed gas: 0) + [ ] + - location: 62 (just consumed gas: 0.015) + [ ] + - location: 68 (just consumed gas: 0.010) + [ Unit ] + - location: 69 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 71 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev--storage125992234--input305844558-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev--storage125992234--input305844558-.out new file mode 100644 index 000000000000..4794c1cc1e3a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev--storage125992234--input305844558-.out @@ -0,0 +1,845 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/packunpack_rev.tz on storage Unit and input '(Pair -1 (Pair 1 (Pair "foobar" (Pair 0x00AABBCC (Pair 1000 (Pair False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"))))))))' --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 148.783) + [ (Pair (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + Unit) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 17 (just consumed gas: 0.010) + [ (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 18 (just consumed gas: 0.010) + [ -1 + (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 19 (just consumed gas: 0) + [ (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 21 (just consumed gas: 0.010) + [ -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 19 (just consumed gas: 0.025) + [ -1 + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 22 (just consumed gas: 0.241) + [ 0x050041 + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 23 (just consumed gas: 0.421) + [ (Some -1) + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 26 (just consumed gas: 0) + [ -1 + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 26 (just consumed gas: 0.015) + [ -1 + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 34 (just consumed gas: 0.035) + [ 0 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 35 (just consumed gas: 0.010) + [ True + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 36 (just consumed gas: 0) + [ (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 36 (just consumed gas: 0.015) + [ (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 42 (just consumed gas: 0.010) + [ (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 43 (just consumed gas: 0.010) + [ 1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 44 (just consumed gas: 0) + [ (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 46 (just consumed gas: 0.010) + [ 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 44 (just consumed gas: 0.025) + [ 1 + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 47 (just consumed gas: 0.241) + [ 0x050001 + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 48 (just consumed gas: 0.421) + [ (Some 1) + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 51 (just consumed gas: 0) + [ 1 + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 51 (just consumed gas: 0.015) + [ 1 + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 59 (just consumed gas: 0.035) + [ 0 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 60 (just consumed gas: 0.010) + [ True + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 61 (just consumed gas: 0) + [ (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 61 (just consumed gas: 0.015) + [ (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 67 (just consumed gas: 0.010) + [ (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 68 (just consumed gas: 0.010) + [ "foobar" + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 69 (just consumed gas: 0) + [ (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 71 (just consumed gas: 0.010) + [ "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 69 (just consumed gas: 0.025) + [ "foobar" + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 72 (just consumed gas: 0.276) + [ 0x050100000006666f6f626172 + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 73 (just consumed gas: 0.680) + [ (Some "foobar") + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 76 (just consumed gas: 0) + [ "foobar" + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 76 (just consumed gas: 0.015) + [ "foobar" + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 84 (just consumed gas: 0.035) + [ 0 + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 85 (just consumed gas: 0.010) + [ True + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 86 (just consumed gas: 0) + [ (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 86 (just consumed gas: 0.015) + [ (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 92 (just consumed gas: 0.010) + [ (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 93 (just consumed gas: 0.010) + [ 0x00aabbcc + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 94 (just consumed gas: 0) + [ (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 96 (just consumed gas: 0.010) + [ 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 94 (just consumed gas: 0.025) + [ 0x00aabbcc + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 97 (just consumed gas: 0.256) + [ 0x050a0000000400aabbcc + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 98 (just consumed gas: 0.565) + [ (Some 0x00aabbcc) + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 101 (just consumed gas: 0) + [ 0x00aabbcc + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 101 (just consumed gas: 0.015) + [ 0x00aabbcc + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 109 (just consumed gas: 0.035) + [ 0 + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 110 (just consumed gas: 0.010) + [ True + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 111 (just consumed gas: 0) + [ (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 111 (just consumed gas: 0.015) + [ (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 117 (just consumed gas: 0.010) + [ (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 118 (just consumed gas: 0.010) + [ 1000 + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 119 (just consumed gas: 0) + [ (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 121 (just consumed gas: 0.010) + [ 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 119 (just consumed gas: 0.025) + [ 1000 + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 122 (just consumed gas: 0.266) + [ 0x0500a80f + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 123 (just consumed gas: 0.442) + [ (Some 1000) + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 126 (just consumed gas: 0) + [ 1000 + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 126 (just consumed gas: 0.015) + [ 1000 + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 134 (just consumed gas: 0.035) + [ 0 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 135 (just consumed gas: 0.010) + [ True + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 136 (just consumed gas: 0) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 136 (just consumed gas: 0.015) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 142 (just consumed gas: 0.010) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 143 (just consumed gas: 0.010) + [ False + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 144 (just consumed gas: 0) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 146 (just consumed gas: 0.010) + [ False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 144 (just consumed gas: 0.025) + [ False + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 147 (just consumed gas: 0.216) + [ 0x050303 + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 148 (just consumed gas: 0.421) + [ (Some False) + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 151 (just consumed gas: 0) + [ False + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 151 (just consumed gas: 0.015) + [ False + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 159 (just consumed gas: 0.035) + [ 0 + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 160 (just consumed gas: 0.010) + [ True + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 161 (just consumed gas: 0) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 161 (just consumed gas: 0.015) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 167 (just consumed gas: 0.010) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 168 (just consumed gas: 0.010) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 169 (just consumed gas: 0) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 171 (just consumed gas: 0.010) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 169 (just consumed gas: 0.025) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 172 (just consumed gas: 0.506) + [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 173 (just consumed gas: 0.973) + [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 176 (just consumed gas: 0) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 176 (just consumed gas: 0.015) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 184 (just consumed gas: 0.036) + [ 0 + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 185 (just consumed gas: 0.010) + [ True + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 186 (just consumed gas: 0) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 186 (just consumed gas: 0.015) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 192 (just consumed gas: 0.010) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 193 (just consumed gas: 0.010) + [ "2019-09-09T08:35:33Z" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 194 (just consumed gas: 0) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 196 (just consumed gas: 0.010) + [ "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 194 (just consumed gas: 0.025) + [ "2019-09-09T08:35:33Z" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 197 (just consumed gas: 0.316) + [ 0x050095bbb0d70b + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 198 (just consumed gas: 0.503) + [ (Some "2019-09-09T08:35:33Z") + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 201 (just consumed gas: 0) + [ "2019-09-09T08:35:33Z" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 201 (just consumed gas: 0.015) + [ "2019-09-09T08:35:33Z" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 209 (just consumed gas: 0.035) + [ 0 + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 210 (just consumed gas: 0.010) + [ True + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 211 (just consumed gas: 0) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 211 (just consumed gas: 0.015) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 217 (just consumed gas: 0.010) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 218 (just consumed gas: 0.516) + [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 219 (just consumed gas: 0.994) + [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 222 (just consumed gas: 0) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 222 (just consumed gas: 0.015) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 230 (just consumed gas: 0.036) + [ 0 ] + - location: 231 (just consumed gas: 0.010) + [ True ] + - location: 232 (just consumed gas: 0) + [ ] + - location: 232 (just consumed gas: 0.015) + [ ] + - location: 238 (just consumed gas: 0.010) + [ 0 ] + - location: 241 (just consumed gas: 0.216) + [ 0x050000 ] + - location: 242 (just consumed gas: 0.421) + [ (Some 0) ] + - location: 245 (just consumed gas: 0) + [ 0 ] + - location: 245 (just consumed gas: 0.015) + [ 0 ] + - location: 251 (just consumed gas: 0.010) + [ ] + - location: 252 (just consumed gas: 0.010) + [ -1 ] + - location: 255 (just consumed gas: 0.241) + [ 0x050041 ] + - location: 256 (just consumed gas: 96.321) + [ None ] + - location: 259 (just consumed gas: 0) + [ ] + - location: 259 (just consumed gas: 0.015) + [ ] + - location: 265 (just consumed gas: 0.010) + [ 0x ] + - location: 268 (just consumed gas: 0.260) + [ None ] + - location: 271 (just consumed gas: 0) + [ ] + - location: 271 (just consumed gas: 0.015) + [ ] + - location: 277 (just consumed gas: 0.010) + [ 0x04 ] + - location: 280 (just consumed gas: 0.280) + [ None ] + - location: 283 (just consumed gas: 0) + [ ] + - location: 283 (just consumed gas: 0.015) + [ ] + - location: 289 (just consumed gas: 0.010) + [ 0x05 ] + - location: 292 (just consumed gas: 0.280) + [ None ] + - location: 295 (just consumed gas: 0) + [ ] + - location: 295 (just consumed gas: 0.015) + [ ] + - location: 301 (just consumed gas: 0.010) + [ Unit ] + - location: 302 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 304 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev--storage125992234--input646365167-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev--storage125992234--input646365167-.out new file mode 100644 index 000000000000..ea633e75b8d1 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev--storage125992234--input646365167-.out @@ -0,0 +1,845 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/packunpack_rev.tz on storage Unit and input '(Pair -1 (Pair 1 (Pair "foobar" (Pair 0x00AABBCC (Pair 1000 (Pair False (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5"))))))))' --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 148.783) + [ (Pair (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + Unit) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 17 (just consumed gas: 0.010) + [ (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 18 (just consumed gas: 0.010) + [ -1 + (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 19 (just consumed gas: 0) + [ (Pair -1 + 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 21 (just consumed gas: 0.010) + [ -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 19 (just consumed gas: 0.025) + [ -1 + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 22 (just consumed gas: 0.241) + [ 0x050041 + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 23 (just consumed gas: 0.421) + [ (Some -1) + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 26 (just consumed gas: 0) + [ -1 + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 26 (just consumed gas: 0.015) + [ -1 + -1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 34 (just consumed gas: 0.035) + [ 0 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 35 (just consumed gas: 0.010) + [ True + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 36 (just consumed gas: 0) + [ (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 36 (just consumed gas: 0.015) + [ (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 42 (just consumed gas: 0.010) + [ (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 43 (just consumed gas: 0.010) + [ 1 + (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 44 (just consumed gas: 0) + [ (Pair 1 + "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 46 (just consumed gas: 0.010) + [ 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 44 (just consumed gas: 0.025) + [ 1 + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 47 (just consumed gas: 0.241) + [ 0x050001 + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 48 (just consumed gas: 0.421) + [ (Some 1) + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 51 (just consumed gas: 0) + [ 1 + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 51 (just consumed gas: 0.015) + [ 1 + 1 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 59 (just consumed gas: 0.035) + [ 0 + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 60 (just consumed gas: 0.010) + [ True + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 61 (just consumed gas: 0) + [ (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 61 (just consumed gas: 0.015) + [ (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 67 (just consumed gas: 0.010) + [ (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 68 (just consumed gas: 0.010) + [ "foobar" + (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 69 (just consumed gas: 0) + [ (Pair "foobar" + 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 71 (just consumed gas: 0.010) + [ "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 69 (just consumed gas: 0.025) + [ "foobar" + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 72 (just consumed gas: 0.276) + [ 0x050100000006666f6f626172 + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 73 (just consumed gas: 0.680) + [ (Some "foobar") + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 76 (just consumed gas: 0) + [ "foobar" + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 76 (just consumed gas: 0.015) + [ "foobar" + "foobar" + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 84 (just consumed gas: 0.035) + [ 0 + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 85 (just consumed gas: 0.010) + [ True + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 86 (just consumed gas: 0) + [ (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 86 (just consumed gas: 0.015) + [ (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 92 (just consumed gas: 0.010) + [ (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 93 (just consumed gas: 0.010) + [ 0x00aabbcc + (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 94 (just consumed gas: 0) + [ (Pair 0x00aabbcc + 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 96 (just consumed gas: 0.010) + [ 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 94 (just consumed gas: 0.025) + [ 0x00aabbcc + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 97 (just consumed gas: 0.256) + [ 0x050a0000000400aabbcc + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 98 (just consumed gas: 0.565) + [ (Some 0x00aabbcc) + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 101 (just consumed gas: 0) + [ 0x00aabbcc + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 101 (just consumed gas: 0.015) + [ 0x00aabbcc + 0x00aabbcc + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 109 (just consumed gas: 0.035) + [ 0 + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 110 (just consumed gas: 0.010) + [ True + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 111 (just consumed gas: 0) + [ (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 111 (just consumed gas: 0.015) + [ (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 117 (just consumed gas: 0.010) + [ (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 118 (just consumed gas: 0.010) + [ 1000 + (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 119 (just consumed gas: 0) + [ (Pair 1000 + False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 121 (just consumed gas: 0.010) + [ 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 119 (just consumed gas: 0.025) + [ 1000 + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 122 (just consumed gas: 0.266) + [ 0x0500a80f + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 123 (just consumed gas: 0.442) + [ (Some 1000) + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 126 (just consumed gas: 0) + [ 1000 + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 126 (just consumed gas: 0.015) + [ 1000 + 1000 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 134 (just consumed gas: 0.035) + [ 0 + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 135 (just consumed gas: 0.010) + [ True + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 136 (just consumed gas: 0) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 136 (just consumed gas: 0.015) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 142 (just consumed gas: 0.010) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 143 (just consumed gas: 0.010) + [ False + (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 144 (just consumed gas: 0) + [ (Pair False + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 146 (just consumed gas: 0.010) + [ False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 144 (just consumed gas: 0.025) + [ False + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 147 (just consumed gas: 0.216) + [ 0x050303 + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 148 (just consumed gas: 0.421) + [ (Some False) + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 151 (just consumed gas: 0) + [ False + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 151 (just consumed gas: 0.015) + [ False + False + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 159 (just consumed gas: 0.035) + [ 0 + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 160 (just consumed gas: 0.010) + [ True + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 161 (just consumed gas: 0) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 161 (just consumed gas: 0.015) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 167 (just consumed gas: 0.010) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 168 (just consumed gas: 0.010) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 169 (just consumed gas: 0) + [ (Pair "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 171 (just consumed gas: 0.010) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 169 (just consumed gas: 0.025) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 172 (just consumed gas: 0.506) + [ 0x050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 173 (just consumed gas: 0.973) + [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 176 (just consumed gas: 0) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 176 (just consumed gas: 0.015) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 184 (just consumed gas: 0.036) + [ 0 + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 185 (just consumed gas: 0.010) + [ True + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 186 (just consumed gas: 0) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 186 (just consumed gas: 0.015) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 192 (just consumed gas: 0.010) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 193 (just consumed gas: 0.010) + [ "2019-09-09T08:35:33Z" + (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 194 (just consumed gas: 0) + [ (Pair "2019-09-09T08:35:33Z" "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") ] + - location: 196 (just consumed gas: 0.010) + [ "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 194 (just consumed gas: 0.025) + [ "2019-09-09T08:35:33Z" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 197 (just consumed gas: 0.316) + [ 0x050095bbb0d70b + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 198 (just consumed gas: 0.503) + [ (Some "2019-09-09T08:35:33Z") + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 201 (just consumed gas: 0) + [ "2019-09-09T08:35:33Z" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 201 (just consumed gas: 0.015) + [ "2019-09-09T08:35:33Z" + "2019-09-09T08:35:33Z" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 209 (just consumed gas: 0.035) + [ 0 + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 210 (just consumed gas: 0.010) + [ True + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 211 (just consumed gas: 0) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 211 (just consumed gas: 0.015) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 217 (just consumed gas: 0.010) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 218 (just consumed gas: 0.516) + [ 0x050a000000160000bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 219 (just consumed gas: 0.994) + [ (Some "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 222 (just consumed gas: 0) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 222 (just consumed gas: 0.015) + [ "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" + "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5" ] + - location: 230 (just consumed gas: 0.036) + [ 0 ] + - location: 231 (just consumed gas: 0.010) + [ True ] + - location: 232 (just consumed gas: 0) + [ ] + - location: 232 (just consumed gas: 0.015) + [ ] + - location: 238 (just consumed gas: 0.010) + [ 0 ] + - location: 241 (just consumed gas: 0.216) + [ 0x050000 ] + - location: 242 (just consumed gas: 0.421) + [ (Some 0) ] + - location: 245 (just consumed gas: 0) + [ 0 ] + - location: 245 (just consumed gas: 0.015) + [ 0 ] + - location: 251 (just consumed gas: 0.010) + [ ] + - location: 252 (just consumed gas: 0.010) + [ -1 ] + - location: 255 (just consumed gas: 0.241) + [ 0x050041 ] + - location: 256 (just consumed gas: 96.321) + [ None ] + - location: 259 (just consumed gas: 0) + [ ] + - location: 259 (just consumed gas: 0.015) + [ ] + - location: 265 (just consumed gas: 0.010) + [ 0x ] + - location: 268 (just consumed gas: 0.260) + [ None ] + - location: 271 (just consumed gas: 0) + [ ] + - location: 271 (just consumed gas: 0.015) + [ ] + - location: 277 (just consumed gas: 0.010) + [ 0x04 ] + - location: 280 (just consumed gas: 0.280) + [ None ] + - location: 283 (just consumed gas: 0) + [ ] + - location: 283 (just consumed gas: 0.015) + [ ] + - location: 289 (just consumed gas: 0.010) + [ 0x05 ] + - location: 292 (just consumed gas: 0.280) + [ None ] + - location: 295 (just consumed gas: 0) + [ ] + - location: 295 (just consumed gas: 0.015) + [ ] + - location: 301 (just consumed gas: 0.010) + [ Unit ] + - location: 302 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 304 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev_cty--storage125992234--input1028781121-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev_cty--storage125992234--input1028781121-.out new file mode 100644 index 000000000000..999467730401 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev_cty--storage125992234--input1028781121-.out @@ -0,0 +1,1194 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/packunpack_rev_cty.tz on storage Unit and input '(Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") (Pair { Unit } (Pair { True } (Pair (Pair 19 10) (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK } )))))))))' --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 28 (just consumed gas: 503.139) + [ (Pair (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) + Unit) ] + - location: 28 (just consumed gas: 0.010) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 29 (just consumed gas: 0.010) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 30 (just consumed gas: 0.010) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 31 (just consumed gas: 0) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 33 (just consumed gas: 0.010) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 31 (just consumed gas: 0.025) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 34 (just consumed gas: 1.001) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 35 (just consumed gas: 0) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 37 (just consumed gas: 1.001) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 38 (just consumed gas: 75.159) + [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 41 (just consumed gas: 0) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 41 (just consumed gas: 0.015) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 47 (just consumed gas: 1.001) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 35 (just consumed gas: 0.025) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 50 (just consumed gas: 0.035) + [ 0 + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 51 (just consumed gas: 0.010) + [ True + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 52 (just consumed gas: 0) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 52 (just consumed gas: 0.015) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 58 (just consumed gas: 0.010) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 59 (just consumed gas: 0.010) + [ Unit + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 60 (just consumed gas: 0) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 62 (just consumed gas: 0.010) + [ Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 60 (just consumed gas: 0.025) + [ Unit + Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 63 (just consumed gas: 0.216) + [ 0x05030b + Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 64 (just consumed gas: 0) + [ Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 66 (just consumed gas: 0.216) + [ 0x05030b + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 67 (just consumed gas: 0.421) + [ (Some Unit) + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 70 (just consumed gas: 0) + [ Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 70 (just consumed gas: 0.015) + [ Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 76 (just consumed gas: 0.216) + [ 0x05030b + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 64 (just consumed gas: 0.025) + [ 0x05030b + 0x05030b + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 79 (just consumed gas: 0.035) + [ 0 + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 80 (just consumed gas: 0.010) + [ True + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 81 (just consumed gas: 0) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 81 (just consumed gas: 0.015) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 87 (just consumed gas: 0.010) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 88 (just consumed gas: 0.010) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 89 (just consumed gas: 0) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 91 (just consumed gas: 0.010) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 89 (just consumed gas: 0.025) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 92 (just consumed gas: 0.911) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 93 (just consumed gas: 0) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 95 (just consumed gas: 0.911) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 96 (just consumed gas: 1.835) + [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 99 (just consumed gas: 0) + [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 99 (just consumed gas: 0.015) + [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 105 (just consumed gas: 0.911) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 93 (just consumed gas: 0.025) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 108 (just consumed gas: 0.036) + [ 0 + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 109 (just consumed gas: 0.010) + [ True + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 110 (just consumed gas: 0) + [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 110 (just consumed gas: 0.015) + [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 116 (just consumed gas: 0.010) + [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 117 (just consumed gas: 0.010) + [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 118 (just consumed gas: 0) + [ (Pair (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 120 (just consumed gas: 0.010) + [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 118 (just consumed gas: 0.025) + [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 121 (just consumed gas: 1.127) + [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 122 (just consumed gas: 0) + [ (Some "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7") + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 124 (just consumed gas: 1.127) + [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 125 (just consumed gas: 1.976) + [ (Some (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe")) + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 129 (just consumed gas: 0) + [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 129 (just consumed gas: 0.015) + [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 135 (just consumed gas: 1.127) + [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 122 (just consumed gas: 0.025) + [ 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + 0x0505090a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 138 (just consumed gas: 0.036) + [ 0 + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 139 (just consumed gas: 0.010) + [ True + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 140 (just consumed gas: 0) + [ (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 140 (just consumed gas: 0.015) + [ (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 146 (just consumed gas: 0.010) + [ (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 147 (just consumed gas: 0.010) + [ { Unit } + (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 148 (just consumed gas: 0) + [ (Pair { Unit } + { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 150 (just consumed gas: 0.010) + [ { Unit } + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 148 (just consumed gas: 0.025) + [ { Unit } + { Unit } + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 151 (just consumed gas: 0.432) + [ 0x050200000002030b + { Unit } + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 152 (just consumed gas: 0) + [ { Unit } + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 154 (just consumed gas: 0.432) + [ 0x050200000002030b + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 155 (just consumed gas: 0.624) + [ (Some { Unit }) + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 159 (just consumed gas: 0) + [ { Unit } + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 159 (just consumed gas: 0.015) + [ { Unit } + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 165 (just consumed gas: 0.432) + [ 0x050200000002030b + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 152 (just consumed gas: 0.025) + [ 0x050200000002030b + 0x050200000002030b + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 168 (just consumed gas: 0.035) + [ 0 + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 169 (just consumed gas: 0.010) + [ True + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 170 (just consumed gas: 0) + [ (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 170 (just consumed gas: 0.015) + [ (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 176 (just consumed gas: 0.010) + [ (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 177 (just consumed gas: 0.010) + [ { True } + (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 178 (just consumed gas: 0) + [ (Pair { True } + (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 180 (just consumed gas: 0.010) + [ { True } + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 178 (just consumed gas: 0.025) + [ { True } + { True } + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 181 (just consumed gas: 0.432) + [ 0x050200000002030a + { True } + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 182 (just consumed gas: 0) + [ { True } + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 184 (just consumed gas: 0.432) + [ 0x050200000002030a + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 185 (just consumed gas: 0.756) + [ (Some { True }) + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 189 (just consumed gas: 0) + [ { True } + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 189 (just consumed gas: 0.015) + [ { True } + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 195 (just consumed gas: 0.432) + [ 0x050200000002030a + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 182 (just consumed gas: 0.025) + [ 0x050200000002030a + 0x050200000002030a + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 198 (just consumed gas: 0.035) + [ 0 + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 199 (just consumed gas: 0.010) + [ True + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 200 (just consumed gas: 0) + [ (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 200 (just consumed gas: 0.015) + [ (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 206 (just consumed gas: 0.010) + [ (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 207 (just consumed gas: 0.010) + [ (Pair 19 10) + (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 208 (just consumed gas: 0) + [ (Pair (Pair 19 10) + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 210 (just consumed gas: 0.010) + [ (Pair 19 10) + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 208 (just consumed gas: 0.025) + [ (Pair 19 10) + (Pair 19 10) + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 211 (just consumed gas: 0.698) + [ 0x0507070013000a + (Pair 19 10) + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 212 (just consumed gas: 0) + [ (Pair 19 10) + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 214 (just consumed gas: 0.698) + [ 0x0507070013000a + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 215 (just consumed gas: 0.703) + [ (Some (Pair 19 10)) + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 220 (just consumed gas: 0) + [ (Pair 19 10) + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 220 (just consumed gas: 0.015) + [ (Pair 19 10) + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 226 (just consumed gas: 0.698) + [ 0x0507070013000a + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 212 (just consumed gas: 0.025) + [ 0x0507070013000a + 0x0507070013000a + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 229 (just consumed gas: 0.035) + [ 0 + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 230 (just consumed gas: 0.010) + [ True + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 231 (just consumed gas: 0) + [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 231 (just consumed gas: 0.015) + [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 237 (just consumed gas: 0.010) + [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 238 (just consumed gas: 0.010) + [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 239 (just consumed gas: 0) + [ (Pair (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK }) ] + - location: 241 (just consumed gas: 0.010) + [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 239 (just consumed gas: 0.025) + [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 242 (just consumed gas: 0.722) + [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a + (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 243 (just consumed gas: 0) + [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 245 (just consumed gas: 0.722) + [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 246 (just consumed gas: 1.114) + [ (Some (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5")) + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 251 (just consumed gas: 0) + [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 251 (just consumed gas: 0.015) + [ (Left "tz1cxcwwnzENRdhe2Kb8ZdTrdNy4bFNyScx5") + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 257 (just consumed gas: 0.722) + [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 243 (just consumed gas: 0.025) + [ 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a + 0x0505050a0000001500bdfe3885e846fdea23c9acbe3bb1cfcca9c03e4a + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 260 (just consumed gas: 0.035) + [ 0 + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 261 (just consumed gas: 0.010) + [ True + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 262 (just consumed gas: 0) + [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 262 (just consumed gas: 0.015) + [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 268 (just consumed gas: 0.010) + [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 269 (just consumed gas: 0.010) + [ { Elt 0 "foo" ; Elt 1 "bar" } + (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 270 (just consumed gas: 0) + [ (Pair { Elt 0 "foo" ; Elt 1 "bar" } { PACK }) ] + - location: 272 (just consumed gas: 0.010) + [ { Elt 0 "foo" ; Elt 1 "bar" } + { PACK } ] + - location: 270 (just consumed gas: 0.025) + [ { Elt 0 "foo" ; Elt 1 "bar" } + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK } ] + - location: 273 (just consumed gas: 1.467) + [ 0x050200000018070400000100000003666f6f070400010100000003626172 + { Elt 0 "foo" ; Elt 1 "bar" } + { PACK } ] + - location: 274 (just consumed gas: 0) + [ { Elt 0 "foo" ; Elt 1 "bar" } + { PACK } ] + - location: 276 (just consumed gas: 1.467) + [ 0x050200000018070400000100000003666f6f070400010100000003626172 + { PACK } ] + - location: 277 (just consumed gas: 1.658) + [ (Some { Elt 0 "foo" ; Elt 1 "bar" }) + { PACK } ] + - location: 282 (just consumed gas: 0) + [ { Elt 0 "foo" ; Elt 1 "bar" } + { PACK } ] + - location: 282 (just consumed gas: 0.015) + [ { Elt 0 "foo" ; Elt 1 "bar" } + { PACK } ] + - location: 288 (just consumed gas: 1.467) + [ 0x050200000018070400000100000003666f6f070400010100000003626172 + { PACK } ] + - location: 274 (just consumed gas: 0.025) + [ 0x050200000018070400000100000003666f6f070400010100000003626172 + 0x050200000018070400000100000003666f6f070400010100000003626172 + { PACK } ] + - location: 291 (just consumed gas: 0.035) + [ 0 + { PACK } ] + - location: 292 (just consumed gas: 0.010) + [ True + { PACK } ] + - location: 293 (just consumed gas: 0) + [ { PACK } ] + - location: 293 (just consumed gas: 0.015) + [ { PACK } ] + - location: 299 (just consumed gas: 0.010) + [ { PACK } + { PACK } ] + - location: 300 (just consumed gas: 0.597) + [ 0x050200000002030c + { PACK } ] + - location: 301 (just consumed gas: 0) + [ { PACK } ] + - location: 303 (just consumed gas: 0.597) + [ 0x050200000002030c ] + - location: 304 (just consumed gas: 1.556) + [ (Some { PACK }) ] + - location: 309 (just consumed gas: 0) + [ { PACK } ] + - location: 309 (just consumed gas: 0.015) + [ { PACK } ] + - location: 315 (just consumed gas: 0.597) + [ 0x050200000002030c ] + - location: 301 (just consumed gas: 0.025) + [ 0x050200000002030c + 0x050200000002030c ] + - location: 318 (just consumed gas: 0.035) + [ 0 ] + - location: 319 (just consumed gas: 0.010) + [ True ] + - location: 320 (just consumed gas: 0) + [ ] + - location: 320 (just consumed gas: 0.015) + [ ] + - location: 326 (just consumed gas: 0.010) + [ Unit ] + - location: 327 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 329 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev_cty--storage125992234--input802670583-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev_cty--storage125992234--input802670583-.out new file mode 100644 index 000000000000..39fe43c38827 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -packunpack_rev_cty--storage125992234--input802670583-.out @@ -0,0 +1,1032 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/packunpack_rev_cty.tz on storage Unit and input '(Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" (Pair Unit (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" (Pair None (Pair { } (Pair { } (Pair (Pair 40 -10) (Pair (Right "2019-09-09T08:35:33Z") (Pair { } { DUP ; DROP ; PACK } )))))))))' --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 28 (just consumed gas: 493.644) + [ (Pair (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) + Unit) ] + - location: 28 (just consumed gas: 0.010) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 29 (just consumed gas: 0.010) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 30 (just consumed gas: 0.010) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 31 (just consumed gas: 0) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 33 (just consumed gas: 0.010) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 31 (just consumed gas: 0.025) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 34 (just consumed gas: 1.001) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 35 (just consumed gas: 0) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 37 (just consumed gas: 1.001) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 38 (just consumed gas: 75.159) + [ (Some "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav") + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 41 (just consumed gas: 0) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 41 (just consumed gas: 0.015) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 47 (just consumed gas: 1.001) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 35 (just consumed gas: 0.025) + [ 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + 0x050a00000021004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 50 (just consumed gas: 0.035) + [ 0 + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 51 (just consumed gas: 0.010) + [ True + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 52 (just consumed gas: 0) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 52 (just consumed gas: 0.015) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 58 (just consumed gas: 0.010) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 59 (just consumed gas: 0.010) + [ Unit + (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 60 (just consumed gas: 0) + [ (Pair Unit + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 62 (just consumed gas: 0.010) + [ Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 60 (just consumed gas: 0.025) + [ Unit + Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 63 (just consumed gas: 0.216) + [ 0x05030b + Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 64 (just consumed gas: 0) + [ Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 66 (just consumed gas: 0.216) + [ 0x05030b + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 67 (just consumed gas: 0.421) + [ (Some Unit) + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 70 (just consumed gas: 0) + [ Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 70 (just consumed gas: 0.015) + [ Unit + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 76 (just consumed gas: 0.216) + [ 0x05030b + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 64 (just consumed gas: 0.025) + [ 0x05030b + 0x05030b + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 79 (just consumed gas: 0.035) + [ 0 + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 80 (just consumed gas: 0.010) + [ True + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 81 (just consumed gas: 0) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 81 (just consumed gas: 0.015) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 87 (just consumed gas: 0.010) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 88 (just consumed gas: 0.010) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 89 (just consumed gas: 0) + [ (Pair "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 91 (just consumed gas: 0.010) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 89 (just consumed gas: 0.025) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 92 (just consumed gas: 0.911) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 93 (just consumed gas: 0) + [ "edsigthTzJ8X7MPmNeEwybRAvdxS1pupqcM5Mk4uCuyZAe7uEk68YpuGDeViW8wSXMrCi5CwoNgqs8V2w8ayB5dMJzrYCHhD8C7" + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 95 (just consumed gas: 0.911) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 96 (just consumed gas: 1.835) + [ (Some "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe") + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 99 (just consumed gas: 0) + [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 99 (just consumed gas: 0.015) + [ "sigXeXB5JD5TaLb3xgTPKjgf9W45judiCmNP9UBdZBdmtHSGBxL1M8ZSUb6LpjGP2MdfUBTB4WHs5APnvyRV1LooU6QHJuDe" + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 105 (just consumed gas: 0.911) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 93 (just consumed gas: 0.025) + [ 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + 0x050a0000004049d47dba27bd76208b092f3e500f64818920c817491b8b9094f28c2c2b9c6721b257b8878ce47182122b8ea84aeacd84a8aa28cb1f1fe48a26355a7bca4b8306 + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 108 (just consumed gas: 0.036) + [ 0 + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 109 (just consumed gas: 0.010) + [ True + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 110 (just consumed gas: 0) + [ (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 110 (just consumed gas: 0.015) + [ (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 116 (just consumed gas: 0.010) + [ (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 117 (just consumed gas: 0.010) + [ None + (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 118 (just consumed gas: 0) + [ (Pair None + {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 120 (just consumed gas: 0.010) + [ None + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 118 (just consumed gas: 0.025) + [ None + None + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 121 (just consumed gas: 0.216) + [ 0x050306 + None + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 122 (just consumed gas: 0) + [ None + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 124 (just consumed gas: 0.216) + [ 0x050306 + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 125 (just consumed gas: 0.421) + [ (Some None) + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 129 (just consumed gas: 0) + [ None + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 129 (just consumed gas: 0.015) + [ None + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 135 (just consumed gas: 0.216) + [ 0x050306 + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 122 (just consumed gas: 0.025) + [ 0x050306 + 0x050306 + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 138 (just consumed gas: 0.035) + [ 0 + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 139 (just consumed gas: 0.010) + [ True + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 140 (just consumed gas: 0) + [ (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 140 (just consumed gas: 0.015) + [ (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 146 (just consumed gas: 0.010) + [ (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 147 (just consumed gas: 0.010) + [ {} + (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 148 (just consumed gas: 0) + [ (Pair {} + {} + (Pair 40 -10) + (Right "2019-09-09T08:35:33Z") + {} + { DUP ; DROP ; PACK }) ] + - location: 150 (just consumed gas: 0.010) + [ {} + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 148 (just consumed gas: 0.025) + [ {} + {} + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 151 (just consumed gas: 0.216) + [ 0x050200000000 + {} + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 152 (just consumed gas: 0) + [ {} + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 154 (just consumed gas: 0.216) + [ 0x050200000000 + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 155 (just consumed gas: 0.483) + [ (Some {}) + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 159 (just consumed gas: 0) + [ {} + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 159 (just consumed gas: 0.015) + [ {} + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 165 (just consumed gas: 0.216) + [ 0x050200000000 + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 152 (just consumed gas: 0.025) + [ 0x050200000000 + 0x050200000000 + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 168 (just consumed gas: 0.035) + [ 0 + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 169 (just consumed gas: 0.010) + [ True + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 170 (just consumed gas: 0) + [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 170 (just consumed gas: 0.015) + [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 176 (just consumed gas: 0.010) + [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 177 (just consumed gas: 0.010) + [ {} + (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 178 (just consumed gas: 0) + [ (Pair {} (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 180 (just consumed gas: 0.010) + [ {} + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 178 (just consumed gas: 0.025) + [ {} + {} + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 181 (just consumed gas: 0.216) + [ 0x050200000000 + {} + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 182 (just consumed gas: 0) + [ {} + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 184 (just consumed gas: 0.216) + [ 0x050200000000 + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 185 (just consumed gas: 0.483) + [ (Some {}) + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 189 (just consumed gas: 0) + [ {} + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 189 (just consumed gas: 0.015) + [ {} + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 195 (just consumed gas: 0.216) + [ 0x050200000000 + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 182 (just consumed gas: 0.025) + [ 0x050200000000 + 0x050200000000 + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 198 (just consumed gas: 0.035) + [ 0 + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 199 (just consumed gas: 0.010) + [ True + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 200 (just consumed gas: 0) + [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 200 (just consumed gas: 0.015) + [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 206 (just consumed gas: 0.010) + [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 207 (just consumed gas: 0.010) + [ (Pair 40 -10) + (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 208 (just consumed gas: 0) + [ (Pair (Pair 40 -10) (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 210 (just consumed gas: 0.010) + [ (Pair 40 -10) + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 208 (just consumed gas: 0.025) + [ (Pair 40 -10) + (Pair 40 -10) + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 211 (just consumed gas: 0.698) + [ 0x0507070028004a + (Pair 40 -10) + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 212 (just consumed gas: 0) + [ (Pair 40 -10) + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 214 (just consumed gas: 0.698) + [ 0x0507070028004a + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 215 (just consumed gas: 0.703) + [ (Some (Pair 40 -10)) + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 220 (just consumed gas: 0) + [ (Pair 40 -10) + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 220 (just consumed gas: 0.015) + [ (Pair 40 -10) + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 226 (just consumed gas: 0.698) + [ 0x0507070028004a + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 212 (just consumed gas: 0.025) + [ 0x0507070028004a + 0x0507070028004a + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 229 (just consumed gas: 0.035) + [ 0 + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 230 (just consumed gas: 0.010) + [ True + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 231 (just consumed gas: 0) + [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 231 (just consumed gas: 0.015) + [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 237 (just consumed gas: 0.010) + [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 238 (just consumed gas: 0.010) + [ (Right "2019-09-09T08:35:33Z") + (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 239 (just consumed gas: 0) + [ (Pair (Right "2019-09-09T08:35:33Z") {} { DUP ; DROP ; PACK }) ] + - location: 241 (just consumed gas: 0.010) + [ (Right "2019-09-09T08:35:33Z") + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 239 (just consumed gas: 0.025) + [ (Right "2019-09-09T08:35:33Z") + (Right "2019-09-09T08:35:33Z") + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 242 (just consumed gas: 0.532) + [ 0x0505080095bbb0d70b + (Right "2019-09-09T08:35:33Z") + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 243 (just consumed gas: 0) + [ (Right "2019-09-09T08:35:33Z") + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 245 (just consumed gas: 0.532) + [ 0x0505080095bbb0d70b + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 246 (just consumed gas: 0.644) + [ (Some (Right "2019-09-09T08:35:33Z")) + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 251 (just consumed gas: 0) + [ (Right "2019-09-09T08:35:33Z") + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 251 (just consumed gas: 0.015) + [ (Right "2019-09-09T08:35:33Z") + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 257 (just consumed gas: 0.532) + [ 0x0505080095bbb0d70b + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 243 (just consumed gas: 0.025) + [ 0x0505080095bbb0d70b + 0x0505080095bbb0d70b + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 260 (just consumed gas: 0.035) + [ 0 + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 261 (just consumed gas: 0.010) + [ True + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 262 (just consumed gas: 0) + [ (Pair {} { DUP ; DROP ; PACK }) ] + - location: 262 (just consumed gas: 0.015) + [ (Pair {} { DUP ; DROP ; PACK }) ] + - location: 268 (just consumed gas: 0.010) + [ (Pair {} { DUP ; DROP ; PACK }) + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 269 (just consumed gas: 0.010) + [ {} + (Pair {} { DUP ; DROP ; PACK }) ] + - location: 270 (just consumed gas: 0) + [ (Pair {} { DUP ; DROP ; PACK }) ] + - location: 272 (just consumed gas: 0.010) + [ {} + { DUP ; DROP ; PACK } ] + - location: 270 (just consumed gas: 0.025) + [ {} + {} + { DUP ; DROP ; PACK } ] + - location: 273 (just consumed gas: 0.216) + [ 0x050200000000 + {} + { DUP ; DROP ; PACK } ] + - location: 274 (just consumed gas: 0) + [ {} + { DUP ; DROP ; PACK } ] + - location: 276 (just consumed gas: 0.216) + [ 0x050200000000 + { DUP ; DROP ; PACK } ] + - location: 277 (just consumed gas: 0.483) + [ (Some {}) + { DUP ; DROP ; PACK } ] + - location: 282 (just consumed gas: 0) + [ {} + { DUP ; DROP ; PACK } ] + - location: 282 (just consumed gas: 0.015) + [ {} + { DUP ; DROP ; PACK } ] + - location: 288 (just consumed gas: 0.216) + [ 0x050200000000 + { DUP ; DROP ; PACK } ] + - location: 274 (just consumed gas: 0.025) + [ 0x050200000000 + 0x050200000000 + { DUP ; DROP ; PACK } ] + - location: 291 (just consumed gas: 0.035) + [ 0 + { DUP ; DROP ; PACK } ] + - location: 292 (just consumed gas: 0.010) + [ True + { DUP ; DROP ; PACK } ] + - location: 293 (just consumed gas: 0) + [ { DUP ; DROP ; PACK } ] + - location: 293 (just consumed gas: 0.015) + [ { DUP ; DROP ; PACK } ] + - location: 299 (just consumed gas: 0.010) + [ { DUP ; DROP ; PACK } + { DUP ; DROP ; PACK } ] + - location: 300 (just consumed gas: 1.129) + [ 0x05020000000603210320030c + { DUP ; DROP ; PACK } ] + - location: 301 (just consumed gas: 0) + [ { DUP ; DROP ; PACK } ] + - location: 303 (just consumed gas: 1.129) + [ 0x05020000000603210320030c ] + - location: 304 (just consumed gas: 3.150) + [ (Some { DUP ; DROP ; PACK }) ] + - location: 309 (just consumed gas: 0) + [ { DUP ; DROP ; PACK } ] + - location: 309 (just consumed gas: 0.015) + [ { DUP ; DROP ; PACK } ] + - location: 315 (just consumed gas: 1.129) + [ 0x05020000000603210320030c ] + - location: 301 (just consumed gas: 0.025) + [ 0x05020000000603210320030c + 0x05020000000603210320030c ] + - location: 318 (just consumed gas: 0.035) + [ 0 ] + - location: 319 (just consumed gas: 0.010) + [ True ] + - location: 320 (just consumed gas: 0) + [ ] + - location: 320 (just consumed gas: 0.015) + [ ] + - location: 326 (just consumed gas: 0.010) + [ Unit ] + - location: 327 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 329 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input106930123-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input106930123-.out new file mode 100644 index 000000000000..796781603417 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input106930123-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/pair_id.tz on storage None and input '(Pair False True)' --level 1 --trace-stack +storage + (Some (Pair False True)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 5.501) + [ (Pair (Pair False True) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair False True) ] + - location: 13 (just consumed gas: 0.010) + [ (Some (Pair False True)) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some (Pair False True)) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some (Pair False True))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input181204719-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input181204719-.out new file mode 100644 index 000000000000..6c6bc7482a93 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input181204719-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/pair_id.tz on storage None and input '(Pair True False)' --level 1 --trace-stack +storage + (Some (Pair True False)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 5.501) + [ (Pair (Pair True False) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair True False) ] + - location: 13 (just consumed gas: 0.010) + [ (Some (Pair True False)) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some (Pair True False)) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some (Pair True False))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input223774825-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input223774825-.out new file mode 100644 index 000000000000..dd00295fc7c9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input223774825-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/pair_id.tz on storage None and input '(Pair False False)' --level 1 --trace-stack +storage + (Some (Pair False False)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 5.501) + [ (Pair (Pair False False) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair False False) ] + - location: 13 (just consumed gas: 0.010) + [ (Some (Pair False False)) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some (Pair False False)) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some (Pair False False))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input908807505-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input908807505-.out new file mode 100644 index 000000000000..67b1502bfc0e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pair_id--storage921624073--input908807505-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/pair_id.tz on storage None and input '(Pair True True)' --level 1 --trace-stack +storage + (Some (Pair True True)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 5.501) + [ (Pair (Pair True True) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair True True) ] + - location: 13 (just consumed gas: 0.010) + [ (Some (Pair True True)) ] + - location: 14 (just consumed gas: 0.010) + [ {} + (Some (Pair True True)) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} (Some (Pair True True))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pexec--storage256947135--input1050356042-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pexec--storage256947135--input1050356042-.out new file mode 100644 index 000000000000..11df1ba9a2cb --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pexec--storage256947135--input1050356042-.out @@ -0,0 +1,47 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/pexec.tz on storage 14 and input 38 --level 1 --trace-stack +storage + 52 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 9.021) + [ (Pair 38 14) ] + - location: 7 (just consumed gas: 0.010) + [ { UNPAIR ; ADD } + (Pair 38 14) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair 38 14) + { UNPAIR ; ADD } ] + - location: 16 (just consumed gas: 0.010) + [ 38 + 14 + { UNPAIR ; ADD } ] + - location: 17 (just consumed gas: 0) + [ 14 + { UNPAIR ; ADD } ] + - location: 19 (just consumed gas: 0.401) + [ { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] + - location: 17 (just consumed gas: 0.025) + [ 38 + { PUSH nat 14 ; PAIR ; { UNPAIR ; ADD } } ] + - location: 12 (just consumed gas: 0.010) + [ 14 + 38 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair 14 38) ] + - location: 13 (just consumed gas: 0.010) + [ 14 + 38 ] + - location: 14 (just consumed gas: 0.035) + [ 52 ] + - location: 20 (just consumed gas: 0.025) + [ 52 ] + - location: 21 (just consumed gas: 0.010) + [ {} + 52 ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} 52) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pexec_2--storage197120858--input179371027-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pexec_2--storage197120858--input179371027-.out new file mode 100644 index 000000000000..be5d394dbc8a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -pexec_2--storage197120858--input179371027-.out @@ -0,0 +1,282 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/pexec_2.tz on storage '{ 0 ; 1 ; 2 ; 3}' and input 4 --level 1 --trace-stack +storage + { 0 ; 7 ; 14 ; 21 } +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 17.009) + [ (Pair 4 { 0 ; 1 ; 2 ; 3 }) ] + - location: 8 (just consumed gas: 0.010) + [ 4 + { 0 ; 1 ; 2 ; 3 } ] + - location: 9 (just consumed gas: 0.010) + [ { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } + 4 + { 0 ; 1 ; 2 ; 3 } ] + - location: 23 (just consumed gas: 0.010) + [ 4 + { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } + { 0 ; 1 ; 2 ; 3 } ] + - location: 24 (just consumed gas: 0.401) + [ { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } + { 0 ; 1 ; 2 ; 3 } ] + - location: 25 (just consumed gas: 0.010) + [ 3 + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } + { 0 ; 1 ; 2 ; 3 } ] + - location: 28 (just consumed gas: 0.401) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + { 0 ; 1 ; 2 ; 3 } ] + - location: 29 (just consumed gas: 0.010) + [ { 0 ; 1 ; 2 ; 3 } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 30 (just consumed gas: 0) + [ 0 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 32 (just consumed gas: 0) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 34 (just consumed gas: 0.010) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 32 (just consumed gas: 0.025) + [ 0 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 16 (just consumed gas: 0.010) + [ 3 + 0 ] + - location: 16 (just consumed gas: 0.010) + [ (Pair 3 0) ] + - location: 16 (just consumed gas: 0.010) + [ 4 + (Pair 3 0) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair 4 3 0) ] + - location: 17 (just consumed gas: 0.010) + [ 4 + (Pair 3 0) ] + - location: 18 (just consumed gas: 0) + [ (Pair 3 0) ] + - location: 20 (just consumed gas: 0.010) + [ 3 + 0 ] + - location: 18 (just consumed gas: 0.025) + [ 4 + 3 + 0 ] + - location: 21 (just consumed gas: 0.035) + [ 7 + 0 ] + - location: 22 (just consumed gas: 0.056) + [ 0 ] + - location: 35 (just consumed gas: 0.025) + [ 0 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 30 (just consumed gas: 0.015) + [ 1 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 32 (just consumed gas: 0) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 34 (just consumed gas: 0.010) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 32 (just consumed gas: 0.025) + [ 1 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 16 (just consumed gas: 0.010) + [ 3 + 1 ] + - location: 16 (just consumed gas: 0.010) + [ (Pair 3 1) ] + - location: 16 (just consumed gas: 0.010) + [ 4 + (Pair 3 1) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair 4 3 1) ] + - location: 17 (just consumed gas: 0.010) + [ 4 + (Pair 3 1) ] + - location: 18 (just consumed gas: 0) + [ (Pair 3 1) ] + - location: 20 (just consumed gas: 0.010) + [ 3 + 1 ] + - location: 18 (just consumed gas: 0.025) + [ 4 + 3 + 1 ] + - location: 21 (just consumed gas: 0.035) + [ 7 + 1 ] + - location: 22 (just consumed gas: 0.059) + [ 7 ] + - location: 35 (just consumed gas: 0.025) + [ 7 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 30 (just consumed gas: 0.015) + [ 2 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 32 (just consumed gas: 0) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 34 (just consumed gas: 0.010) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 32 (just consumed gas: 0.025) + [ 2 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 16 (just consumed gas: 0.010) + [ 3 + 2 ] + - location: 16 (just consumed gas: 0.010) + [ (Pair 3 2) ] + - location: 16 (just consumed gas: 0.010) + [ 4 + (Pair 3 2) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair 4 3 2) ] + - location: 17 (just consumed gas: 0.010) + [ 4 + (Pair 3 2) ] + - location: 18 (just consumed gas: 0) + [ (Pair 3 2) ] + - location: 20 (just consumed gas: 0.010) + [ 3 + 2 ] + - location: 18 (just consumed gas: 0.025) + [ 4 + 3 + 2 ] + - location: 21 (just consumed gas: 0.035) + [ 7 + 2 ] + - location: 22 (just consumed gas: 0.059) + [ 14 ] + - location: 35 (just consumed gas: 0.025) + [ 14 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 30 (just consumed gas: 0.015) + [ 3 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 32 (just consumed gas: 0) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 34 (just consumed gas: 0.010) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 32 (just consumed gas: 0.025) + [ 3 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 16 (just consumed gas: 0.010) + [ 3 + 3 ] + - location: 16 (just consumed gas: 0.010) + [ (Pair 3 3) ] + - location: 16 (just consumed gas: 0.010) + [ 4 + (Pair 3 3) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair 4 3 3) ] + - location: 17 (just consumed gas: 0.010) + [ 4 + (Pair 3 3) ] + - location: 18 (just consumed gas: 0) + [ (Pair 3 3) ] + - location: 20 (just consumed gas: 0.010) + [ 3 + 3 ] + - location: 18 (just consumed gas: 0.025) + [ 4 + 3 + 3 ] + - location: 21 (just consumed gas: 0.035) + [ 7 + 3 ] + - location: 22 (just consumed gas: 0.059) + [ 21 ] + - location: 35 (just consumed gas: 0.025) + [ 21 + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 30 (just consumed gas: 0.015) + [ { 0 ; 7 ; 14 ; 21 } + { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 36 (just consumed gas: 0) + [ { PUSH int 3 ; + PAIR ; + { PUSH int 4 ; PAIR ; { UNPAIR ; DIP { UNPAIR } ; ADD ; MUL } } } ] + - location: 38 (just consumed gas: 0.010) + [ ] + - location: 36 (just consumed gas: 0.025) + [ { 0 ; 7 ; 14 ; 21 } ] + - location: 39 (just consumed gas: 0.010) + [ {} + { 0 ; 7 ; 14 ; 21 } ] + - location: 41 (just consumed gas: 0.010) + [ (Pair {} { 0 ; 7 ; 14 ; 21 }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ret_int--storage921624073--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ret_int--storage921624073--input125992234-.out new file mode 100644 index 000000000000..e326a6bb8fe0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -ret_int--storage921624073--input125992234-.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/ret_int.tz on storage None and input Unit --level 1 --trace-stack +storage + (Some 300) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.514) + [ (Pair Unit None) ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.010) + [ 300 ] + - location: 12 (just consumed gas: 0.010) + [ (Some 300) ] + - location: 13 (just consumed gas: 0.010) + [ {} + (Some 300) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair {} (Some 300)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse--storage528921618--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse--storage528921618--input457300675-.out new file mode 100644 index 000000000000..9de86e7b89b0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse--storage528921618--input457300675-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/reverse.tz on storage '{""}' and input '{}' --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 6.956) + [ (Pair {} { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0.010) + [ {} + {} ] + - location: 12 (just consumed gas: 0.010) + [ {} + {} ] + - location: 13 (just consumed gas: 0) + [ {} ] + - location: 16 (just consumed gas: 0.010) + [ {} + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse--storage528921618--input851203613-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse--storage528921618--input851203613-.out new file mode 100644 index 000000000000..9c1eb83b7d06 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse--storage528921618--input851203613-.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/reverse.tz on storage '{""}' and input '{ "c" ; "b" ; "a" }' --level 1 --trace-stack +storage + { "a" ; "b" ; "c" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 7.328) + [ (Pair { "c" ; "b" ; "a" } { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ { "c" ; "b" ; "a" } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { "c" ; "b" ; "a" } ] + - location: 12 (just consumed gas: 0.010) + [ { "c" ; "b" ; "a" } + {} ] + - location: 13 (just consumed gas: 0) + [ "c" + {} ] + - location: 15 (just consumed gas: 0.010) + [ { "c" } ] + - location: 13 (just consumed gas: 0.015) + [ "b" + { "c" } ] + - location: 15 (just consumed gas: 0.010) + [ { "b" ; "c" } ] + - location: 13 (just consumed gas: 0.015) + [ "a" + { "b" ; "c" } ] + - location: 15 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } ] + - location: 13 (just consumed gas: 0.015) + [ { "a" ; "b" ; "c" } ] + - location: 16 (just consumed gas: 0.010) + [ {} + { "a" ; "b" ; "c" } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} { "a" ; "b" ; "c" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse_loop--storage528921618--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse_loop--storage528921618--input457300675-.out new file mode 100644 index 000000000000..97509ee57113 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse_loop--storage528921618--input457300675-.out @@ -0,0 +1,50 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/reverse_loop.tz on storage '{""}' and input '{}' --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 13.786) + [ (Pair {} { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0.010) + [ {} + {} ] + - location: 12 (just consumed gas: 0.010) + [ {} + {} ] + - location: 13 (just consumed gas: 0.010) + [ True + {} + {} ] + - location: 33 (just consumed gas: 0) + [ {} + {} ] + - location: 18 (just consumed gas: 0) + [ {} ] + - location: 28 (just consumed gas: 0.010) + [ {} + {} ] + - location: 30 (just consumed gas: 0.010) + [ False + {} + {} ] + - location: 18 (just consumed gas: 0.015) + [ False + {} + {} ] + - location: 33 (just consumed gas: 0.015) + [ {} + {} ] + - location: 33 (just consumed gas: 0.010) + [ {} ] + - location: 34 (just consumed gas: 0.010) + [ {} + {} ] + - location: 36 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse_loop--storage528921618--input851203613-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse_loop--storage528921618--input851203613-.out new file mode 100644 index 000000000000..a204f6d33a92 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -reverse_loop--storage528921618--input851203613-.out @@ -0,0 +1,131 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/reverse_loop.tz on storage '{""}' and input '{ "c" ; "b" ; "a" }' --level 1 --trace-stack +storage + { "a" ; "b" ; "c" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 14.158) + [ (Pair { "c" ; "b" ; "a" } { "" }) ] + - location: 9 (just consumed gas: 0.010) + [ { "c" ; "b" ; "a" } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { "c" ; "b" ; "a" } ] + - location: 12 (just consumed gas: 0.010) + [ { "c" ; "b" ; "a" } + {} ] + - location: 13 (just consumed gas: 0.010) + [ True + { "c" ; "b" ; "a" } + {} ] + - location: 33 (just consumed gas: 0) + [ { "c" ; "b" ; "a" } + {} ] + - location: 18 (just consumed gas: 0) + [ "c" + { "b" ; "a" } + {} ] + - location: 20 (just consumed gas: 0.010) + [ { "b" ; "a" } + "c" + {} ] + - location: 21 (just consumed gas: 0) + [ "c" + {} ] + - location: 23 (just consumed gas: 0.010) + [ { "c" } ] + - location: 21 (just consumed gas: 0.025) + [ { "b" ; "a" } + { "c" } ] + - location: 24 (just consumed gas: 0.010) + [ True + { "b" ; "a" } + { "c" } ] + - location: 18 (just consumed gas: 0.015) + [ True + { "b" ; "a" } + { "c" } ] + - location: 33 (just consumed gas: 0.015) + [ { "b" ; "a" } + { "c" } ] + - location: 18 (just consumed gas: 0) + [ "b" + { "a" } + { "c" } ] + - location: 20 (just consumed gas: 0.010) + [ { "a" } + "b" + { "c" } ] + - location: 21 (just consumed gas: 0) + [ "b" + { "c" } ] + - location: 23 (just consumed gas: 0.010) + [ { "b" ; "c" } ] + - location: 21 (just consumed gas: 0.025) + [ { "a" } + { "b" ; "c" } ] + - location: 24 (just consumed gas: 0.010) + [ True + { "a" } + { "b" ; "c" } ] + - location: 18 (just consumed gas: 0.015) + [ True + { "a" } + { "b" ; "c" } ] + - location: 33 (just consumed gas: 0.015) + [ { "a" } + { "b" ; "c" } ] + - location: 18 (just consumed gas: 0) + [ "a" + {} + { "b" ; "c" } ] + - location: 20 (just consumed gas: 0.010) + [ {} + "a" + { "b" ; "c" } ] + - location: 21 (just consumed gas: 0) + [ "a" + { "b" ; "c" } ] + - location: 23 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } ] + - location: 21 (just consumed gas: 0.025) + [ {} + { "a" ; "b" ; "c" } ] + - location: 24 (just consumed gas: 0.010) + [ True + {} + { "a" ; "b" ; "c" } ] + - location: 18 (just consumed gas: 0.015) + [ True + {} + { "a" ; "b" ; "c" } ] + - location: 33 (just consumed gas: 0.015) + [ {} + { "a" ; "b" ; "c" } ] + - location: 18 (just consumed gas: 0) + [ { "a" ; "b" ; "c" } ] + - location: 28 (just consumed gas: 0.010) + [ {} + { "a" ; "b" ; "c" } ] + - location: 30 (just consumed gas: 0.010) + [ False + {} + { "a" ; "b" ; "c" } ] + - location: 18 (just consumed gas: 0.015) + [ False + {} + { "a" ; "b" ; "c" } ] + - location: 33 (just consumed gas: 0.015) + [ {} + { "a" ; "b" ; "c" } ] + - location: 33 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } ] + - location: 34 (just consumed gas: 0.010) + [ {} + { "a" ; "b" ; "c" } ] + - location: 36 (just consumed gas: 0.010) + [ (Pair {} { "a" ; "b" ; "c" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sapling_empty_state--storage457300675--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sapling_empty_state--storage457300675--input125992234-.out new file mode 100644 index 000000000000..230796a67764 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sapling_empty_state--storage457300675--input125992234-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/sapling_empty_state.tz on storage '{}' and input Unit --level 1 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.358) + [ (Pair Unit {}) ] + - location: 8 (just consumed gas: 0.010) + [ ] + - location: 9 (just consumed gas: 0.300) + [ {} ] + - location: 11 (just consumed gas: 0.010) + [ {} + {} ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_address--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_address--storage125992234--input125992234-.out new file mode 100644 index 000000000000..7c4042386007 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_address--storage125992234--input125992234-.out @@ -0,0 +1,46 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/self_address.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 13.726) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ { DROP ; SELF_ADDRESS } ] + - location: 14 (just consumed gas: 0.010) + [ Unit + { DROP ; SELF_ADDRESS } ] + - location: 12 (just consumed gas: 0.010) + [ ] + - location: 13 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] + - location: 15 (just consumed gas: 0.025) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] + - location: 16 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" + "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] + - location: 17 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" + "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] + - location: 20 (just consumed gas: 0.036) + [ 0 ] + - location: 21 (just consumed gas: 0.010) + [ True ] + - location: 22 (just consumed gas: 0) + [ ] + - location: 22 (just consumed gas: 0.015) + [ ] + - location: 28 (just consumed gas: 0.010) + [ Unit ] + - location: 29 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_with_default_entrypoint--storage125992234--input125992234.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_with_default_entrypoint--storage125992234--input125992234.out new file mode 100644 index 000000000000..574373b33b2c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_with_default_entrypoint--storage125992234--input125992234.out @@ -0,0 +1,47 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/self_with_default_entrypoint.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 13 (just consumed gas: 15.515) + [ (Pair (Right (Left Unit)) Unit) ] + - location: 13 (just consumed gas: 0.010) + [ ] + - location: 14 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] + - location: 15 (just consumed gas: 0.010) + [ ] + - location: 16 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" ] + - location: 17 (just consumed gas: 0.010) + [ ] + - location: 18 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] + - location: 19 (just consumed gas: 0.516) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 20 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" + 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 21 (just consumed gas: 0.516) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 + 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 24 (just consumed gas: 0.035) + [ 0 ] + - location: 25 (just consumed gas: 0.010) + [ True ] + - location: 26 (just consumed gas: 0) + [ ] + - location: 26 (just consumed gas: 0.015) + [ ] + - location: 32 (just consumed gas: 0.010) + [ Unit ] + - location: 33 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 35 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_with_entrypoint--storage125992234--input289072903-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_with_entrypoint--storage125992234--input289072903-.out new file mode 100644 index 000000000000..325b06674679 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -self_with_entrypoint--storage125992234--input289072903-.out @@ -0,0 +1,93 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/self_with_entrypoint.tz on storage Unit and input 'Left (Left 0)' --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 13 (just consumed gas: 40.124) + [ (Pair (Left (Left 0)) Unit) ] + - location: 13 (just consumed gas: 0.010) + [ ] + - location: 14 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" ] + - location: 15 (just consumed gas: 0.526) + [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] + - location: 16 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" + 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] + - location: 17 (just consumed gas: 0.516) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 + 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] + - location: 18 (just consumed gas: 0.010) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 + 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 + 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] + - location: 19 (just consumed gas: 0) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 + 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 ] + - location: 21 (just consumed gas: 0.010) + [ 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 + 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 19 (just consumed gas: 0.025) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 + 0x050a00000017011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe60041 + 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 24 (just consumed gas: 0.035) + [ -1 + 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 25 (just consumed gas: 0.010) + [ True + 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 26 (just consumed gas: 0) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 26 (just consumed gas: 0.015) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 32 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" + 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 33 (just consumed gas: 0.516) + [ 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 + 0x050a00000016011d23c1d3d2f8a4ea5e8784b8f7ecf2ad304c0fe600 ] + - location: 36 (just consumed gas: 0.035) + [ 0 ] + - location: 37 (just consumed gas: 0.010) + [ True ] + - location: 38 (just consumed gas: 0) + [ ] + - location: 38 (just consumed gas: 0.015) + [ ] + - location: 44 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%A" ] + - location: 48 (just consumed gas: 0.010) + [ ] + - location: 49 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%B" ] + - location: 53 (just consumed gas: 0.010) + [ ] + - location: 54 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%maybe_C" ] + - location: 60 (just consumed gas: 0.010) + [ ] + - location: 61 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi%Z" ] + - location: 65 (just consumed gas: 0.010) + [ ] + - location: 66 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] + - location: 76 (just consumed gas: 0.010) + [ ] + - location: 77 (just consumed gas: 0.010) + [ "KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi" ] + - location: 87 (just consumed gas: 0.010) + [ ] + - location: 88 (just consumed gas: 0.010) + [ Unit ] + - location: 89 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 91 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input620760059-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input620760059-.out new file mode 100644 index 000000000000..6c5086afa884 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input620760059-.out @@ -0,0 +1,49 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_car.tz on storage '(Pair "hello" 0)' and input '"world"' --level 1 --trace-stack +storage + (Pair "world" 0) +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 10.979) + [ (Pair "world" "hello" 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "world" "hello" 0) + (Pair "world" "hello" 0) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "hello" 0) + (Pair "world" "hello" 0) ] + - location: 11 (just consumed gas: 0) + [ (Pair "world" "hello" 0) ] + - location: 13 (just consumed gas: 0.010) + [ "world" ] + - location: 11 (just consumed gas: 0.025) + [ (Pair "hello" 0) + "world" ] + - location: 15 (just consumed gas: 0.010) + [ (Pair "hello" 0) + (Pair "hello" 0) + "world" ] + - location: 16 (just consumed gas: 0.010) + [ "hello" + (Pair "hello" 0) + "world" ] + - location: 17 (just consumed gas: 0.010) + [ (Pair "hello" 0) + "world" ] + - location: 18 (just consumed gas: 0.010) + [ 0 + "world" ] + - location: 19 (just consumed gas: 0.010) + [ "world" + 0 ] + - location: 20 (just consumed gas: 0.010) + [ (Pair "world" 0) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair "world" 0) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} "world" 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input717096222-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input717096222-.out new file mode 100644 index 000000000000..f104a00ad690 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input717096222-.out @@ -0,0 +1,49 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_car.tz on storage '(Pair "hello" 0)' and input '"abc"' --level 1 --trace-stack +storage + (Pair "abc" 0) +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 10.959) + [ (Pair "abc" "hello" 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "abc" "hello" 0) + (Pair "abc" "hello" 0) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "hello" 0) + (Pair "abc" "hello" 0) ] + - location: 11 (just consumed gas: 0) + [ (Pair "abc" "hello" 0) ] + - location: 13 (just consumed gas: 0.010) + [ "abc" ] + - location: 11 (just consumed gas: 0.025) + [ (Pair "hello" 0) + "abc" ] + - location: 15 (just consumed gas: 0.010) + [ (Pair "hello" 0) + (Pair "hello" 0) + "abc" ] + - location: 16 (just consumed gas: 0.010) + [ "hello" + (Pair "hello" 0) + "abc" ] + - location: 17 (just consumed gas: 0.010) + [ (Pair "hello" 0) + "abc" ] + - location: 18 (just consumed gas: 0.010) + [ 0 + "abc" ] + - location: 19 (just consumed gas: 0.010) + [ "abc" + 0 ] + - location: 20 (just consumed gas: 0.010) + [ (Pair "abc" 0) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair "abc" 0) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} "abc" 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input79230375-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input79230375-.out new file mode 100644 index 000000000000..b74ae6c468f2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_car--storage224747103--input79230375-.out @@ -0,0 +1,49 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_car.tz on storage '(Pair "hello" 0)' and input '""' --level 1 --trace-stack +storage + (Pair "" 0) +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 10.929) + [ (Pair "" "hello" 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "" "hello" 0) + (Pair "" "hello" 0) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "hello" 0) + (Pair "" "hello" 0) ] + - location: 11 (just consumed gas: 0) + [ (Pair "" "hello" 0) ] + - location: 13 (just consumed gas: 0.010) + [ "" ] + - location: 11 (just consumed gas: 0.025) + [ (Pair "hello" 0) + "" ] + - location: 15 (just consumed gas: 0.010) + [ (Pair "hello" 0) + (Pair "hello" 0) + "" ] + - location: 16 (just consumed gas: 0.010) + [ "hello" + (Pair "hello" 0) + "" ] + - location: 17 (just consumed gas: 0.010) + [ (Pair "hello" 0) + "" ] + - location: 18 (just consumed gas: 0.010) + [ 0 + "" ] + - location: 19 (just consumed gas: 0.010) + [ "" + 0 ] + - location: 20 (just consumed gas: 0.010) + [ (Pair "" 0) ] + - location: 21 (just consumed gas: 0.010) + [ {} + (Pair "" 0) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair {} "" 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage205576101--input654274102-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage205576101--input654274102-.out new file mode 100644 index 000000000000..fc5f8b6ef7e0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage205576101--input654274102-.out @@ -0,0 +1,46 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_cdr.tz on storage '(Pair "hello" 500)' and input 3 --level 1 --trace-stack +storage + (Pair "hello" 3) +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 10.357) + [ (Pair 3 "hello" 500) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair 3 "hello" 500) + (Pair 3 "hello" 500) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "hello" 500) + (Pair 3 "hello" 500) ] + - location: 11 (just consumed gas: 0) + [ (Pair 3 "hello" 500) ] + - location: 13 (just consumed gas: 0.010) + [ 3 ] + - location: 11 (just consumed gas: 0.025) + [ (Pair "hello" 500) + 3 ] + - location: 15 (just consumed gas: 0.010) + [ (Pair "hello" 500) + (Pair "hello" 500) + 3 ] + - location: 16 (just consumed gas: 0.010) + [ 500 + (Pair "hello" 500) + 3 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair "hello" 500) + 3 ] + - location: 18 (just consumed gas: 0.010) + [ "hello" + 3 ] + - location: 19 (just consumed gas: 0.010) + [ (Pair "hello" 3) ] + - location: 20 (just consumed gas: 0.010) + [ {} + (Pair "hello" 3) ] + - location: 22 (just consumed gas: 0.010) + [ (Pair {} "hello" 3) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage224747103--input453441034-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage224747103--input453441034-.out new file mode 100644 index 000000000000..02cf7fb89b23 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage224747103--input453441034-.out @@ -0,0 +1,46 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_cdr.tz on storage '(Pair "hello" 0)' and input 1 --level 1 --trace-stack +storage + (Pair "hello" 1) +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 10.357) + [ (Pair 1 "hello" 0) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair 1 "hello" 0) + (Pair 1 "hello" 0) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "hello" 0) + (Pair 1 "hello" 0) ] + - location: 11 (just consumed gas: 0) + [ (Pair 1 "hello" 0) ] + - location: 13 (just consumed gas: 0.010) + [ 1 ] + - location: 11 (just consumed gas: 0.025) + [ (Pair "hello" 0) + 1 ] + - location: 15 (just consumed gas: 0.010) + [ (Pair "hello" 0) + (Pair "hello" 0) + 1 ] + - location: 16 (just consumed gas: 0.010) + [ 0 + (Pair "hello" 0) + 1 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair "hello" 0) + 1 ] + - location: 18 (just consumed gas: 0.010) + [ "hello" + 1 ] + - location: 19 (just consumed gas: 0.010) + [ (Pair "hello" 1) ] + - location: 20 (just consumed gas: 0.010) + [ {} + (Pair "hello" 1) ] + - location: 22 (just consumed gas: 0.010) + [ (Pair {} "hello" 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage611418174--input967284912-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage611418174--input967284912-.out new file mode 100644 index 000000000000..00e1d54b0d72 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_cdr--storage611418174--input967284912-.out @@ -0,0 +1,46 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_cdr.tz on storage '(Pair "hello" 7)' and input 100 --level 1 --trace-stack +storage + (Pair "hello" 100) +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 10.357) + [ (Pair 100 "hello" 7) ] + - location: 9 (just consumed gas: 0.010) + [ (Pair 100 "hello" 7) + (Pair 100 "hello" 7) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "hello" 7) + (Pair 100 "hello" 7) ] + - location: 11 (just consumed gas: 0) + [ (Pair 100 "hello" 7) ] + - location: 13 (just consumed gas: 0.010) + [ 100 ] + - location: 11 (just consumed gas: 0.025) + [ (Pair "hello" 7) + 100 ] + - location: 15 (just consumed gas: 0.010) + [ (Pair "hello" 7) + (Pair "hello" 7) + 100 ] + - location: 16 (just consumed gas: 0.010) + [ 7 + (Pair "hello" 7) + 100 ] + - location: 17 (just consumed gas: 0.010) + [ (Pair "hello" 7) + 100 ] + - location: 18 (just consumed gas: 0.010) + [ "hello" + 100 ] + - location: 19 (just consumed gas: 0.010) + [ (Pair "hello" 100) ] + - location: 20 (just consumed gas: 0.010) + [ {} + (Pair "hello" 100) ] + - location: 22 (just consumed gas: 0.010) + [ (Pair {} "hello" 100) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input264787654-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input264787654-.out new file mode 100644 index 000000000000..d8b5e82c0604 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input264787654-.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_id.tz on storage '{}' and input '{ "a" ; "b" ; "c" }' --level 1 --trace-stack +storage + { "a" ; "b" ; "c" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.919) + [ (Pair { "a" ; "b" ; "c" } {}) ] + - location: 9 (just consumed gas: 0.010) + [ { "a" ; "b" ; "c" } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { "a" ; "b" ; "c" } ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} { "a" ; "b" ; "c" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input457300675-.out new file mode 100644 index 000000000000..6dfdbb783e2f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input457300675-.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_id.tz on storage '{}' and input '{}' --level 1 --trace-stack +storage + {} +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.075) + [ (Pair {} {}) ] + - location: 9 (just consumed gas: 0.010) + [ {} ] + - location: 10 (just consumed gas: 0.010) + [ {} + {} ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} {}) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input989507347-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input989507347-.out new file mode 100644 index 000000000000..e3b430b19d66 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_id--storage457300675--input989507347-.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_id.tz on storage '{}' and input '{ "asdf" ; "bcde" }' --level 1 --trace-stack +storage + { "asdf" ; "bcde" } +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 4.702) + [ (Pair { "asdf" ; "bcde" } {}) ] + - location: 9 (just consumed gas: 0.010) + [ { "asdf" ; "bcde" } ] + - location: 10 (just consumed gas: 0.010) + [ {} + { "asdf" ; "bcde" } ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} { "asdf" ; "bcde" }) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input457300675-.out new file mode 100644 index 000000000000..ba26bb3c1612 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input457300675-.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_iter.tz on storage 111 and input '{}' --level 1 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 6.702) + [ (Pair {} 111) ] + - location: 8 (just consumed gas: 0.010) + [ {} ] + - location: 9 (just consumed gas: 0.010) + [ 0 + {} ] + - location: 12 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 13 (just consumed gas: 0) + [ 0 ] + - location: 16 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input701684511-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input701684511-.out new file mode 100644 index 000000000000..8b53599d1d9f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input701684511-.out @@ -0,0 +1,47 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_iter.tz on storage 111 and input '{ -100 ; 1 ; 2 ; 3 }' --level 1 --trace-stack +storage + -94 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 7.727) + [ (Pair { -100 ; 1 ; 2 ; 3 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { -100 ; 1 ; 2 ; 3 } ] + - location: 9 (just consumed gas: 0.010) + [ 0 + { -100 ; 1 ; 2 ; 3 } ] + - location: 12 (just consumed gas: 0.010) + [ { -100 ; 1 ; 2 ; 3 } + 0 ] + - location: 13 (just consumed gas: 0) + [ -100 + 0 ] + - location: 15 (just consumed gas: 0.035) + [ -100 ] + - location: 13 (just consumed gas: 0.015) + [ 1 + -100 ] + - location: 15 (just consumed gas: 0.035) + [ -99 ] + - location: 13 (just consumed gas: 0.015) + [ 2 + -99 ] + - location: 15 (just consumed gas: 0.035) + [ -97 ] + - location: 13 (just consumed gas: 0.015) + [ 3 + -97 ] + - location: 15 (just consumed gas: 0.035) + [ -94 ] + - location: 13 (just consumed gas: 0.015) + [ -94 ] + - location: 16 (just consumed gas: 0.010) + [ {} + -94 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} -94) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input802622031-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input802622031-.out new file mode 100644 index 000000000000..247cd06e085b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_iter--storage492856247--input802622031-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_iter.tz on storage 111 and input '{ 1 }' --level 1 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 6.932) + [ (Pair { 1 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { 1 } ] + - location: 9 (just consumed gas: 0.010) + [ 0 + { 1 } ] + - location: 12 (just consumed gas: 0.010) + [ { 1 } + 0 ] + - location: 13 (just consumed gas: 0) + [ 1 + 0 ] + - location: 15 (just consumed gas: 0.035) + [ 1 ] + - location: 13 (just consumed gas: 0.015) + [ 1 ] + - location: 16 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage495706788--input33757838-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage495706788--input33757838-.out new file mode 100644 index 000000000000..bf40d7969265 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage495706788--input33757838-.out @@ -0,0 +1,61 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_member.tz on storage '(Pair {} None)' and input '"Hi"' --level 1 --trace-stack +storage + (Pair {} (Some False)) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 13.724) + [ (Pair "Hi" {} None) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair "Hi" {} None) + (Pair "Hi" {} None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair "Hi" {} None) + (Pair "Hi" {} None) + (Pair "Hi" {} None) ] + - location: 13 (just consumed gas: 0.010) + [ "Hi" + (Pair "Hi" {} None) + (Pair "Hi" {} None) ] + - location: 14 (just consumed gas: 0) + [ (Pair "Hi" {} None) + (Pair "Hi" {} None) ] + - location: 17 (just consumed gas: 0.010) + [ (Pair {} None) + (Pair "Hi" {} None) ] + - location: 18 (just consumed gas: 0.010) + [ {} + (Pair "Hi" {} None) ] + - location: 14 (just consumed gas: 0.025) + [ "Hi" + {} + (Pair "Hi" {} None) ] + - location: 19 (just consumed gas: 0.117) + [ False + (Pair "Hi" {} None) ] + - location: 20 (just consumed gas: 0.010) + [ (Some False) + (Pair "Hi" {} None) ] + - location: 21 (just consumed gas: 0) + [ (Pair "Hi" {} None) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + - location: 25 (just consumed gas: 0.010) + [ {} ] + - location: 21 (just consumed gas: 0.025) + [ (Some False) + {} ] + - location: 26 (just consumed gas: 0.010) + [ {} + (Some False) ] + - location: 27 (just consumed gas: 0.010) + [ (Pair {} (Some False)) ] + - location: 28 (just consumed gas: 0.010) + [ {} + (Pair {} (Some False)) ] + - location: 30 (just consumed gas: 0.010) + [ (Pair {} {} (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage550087893--input79230375-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage550087893--input79230375-.out new file mode 100644 index 000000000000..79d2aa2f31b9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage550087893--input79230375-.out @@ -0,0 +1,61 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_member.tz on storage '(Pair { "Hello" ; "World" } None)' and input '""' --level 1 --trace-stack +storage + (Pair { "Hello" ; "World" } (Some False)) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 14.357) + [ (Pair "" { "Hello" ; "World" } None) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair "" { "Hello" ; "World" } None) + (Pair "" { "Hello" ; "World" } None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair "" { "Hello" ; "World" } None) + (Pair "" { "Hello" ; "World" } None) + (Pair "" { "Hello" ; "World" } None) ] + - location: 13 (just consumed gas: 0.010) + [ "" + (Pair "" { "Hello" ; "World" } None) + (Pair "" { "Hello" ; "World" } None) ] + - location: 14 (just consumed gas: 0) + [ (Pair "" { "Hello" ; "World" } None) + (Pair "" { "Hello" ; "World" } None) ] + - location: 17 (just consumed gas: 0.010) + [ (Pair { "Hello" ; "World" } None) + (Pair "" { "Hello" ; "World" } None) ] + - location: 18 (just consumed gas: 0.010) + [ { "Hello" ; "World" } + (Pair "" { "Hello" ; "World" } None) ] + - location: 14 (just consumed gas: 0.025) + [ "" + { "Hello" ; "World" } + (Pair "" { "Hello" ; "World" } None) ] + - location: 19 (just consumed gas: 0.115) + [ False + (Pair "" { "Hello" ; "World" } None) ] + - location: 20 (just consumed gas: 0.010) + [ (Some False) + (Pair "" { "Hello" ; "World" } None) ] + - location: 21 (just consumed gas: 0) + [ (Pair "" { "Hello" ; "World" } None) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair { "Hello" ; "World" } None) ] + - location: 25 (just consumed gas: 0.010) + [ { "Hello" ; "World" } ] + - location: 21 (just consumed gas: 0.025) + [ (Some False) + { "Hello" ; "World" } ] + - location: 26 (just consumed gas: 0.010) + [ { "Hello" ; "World" } + (Some False) ] + - location: 27 (just consumed gas: 0.010) + [ (Pair { "Hello" ; "World" } (Some False)) ] + - location: 28 (just consumed gas: 0.010) + [ {} + (Pair { "Hello" ; "World" } (Some False)) ] + - location: 30 (just consumed gas: 0.010) + [ (Pair {} { "Hello" ; "World" } (Some False)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage605111220--input33757838-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage605111220--input33757838-.out new file mode 100644 index 000000000000..18b8e643cc5d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_member--storage605111220--input33757838-.out @@ -0,0 +1,61 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_member.tz on storage '(Pair { "Hi" } None)' and input '"Hi"' --level 1 --trace-stack +storage + (Pair { "Hi" } (Some True)) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 13.992) + [ (Pair "Hi" { "Hi" } None) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair "Hi" { "Hi" } None) + (Pair "Hi" { "Hi" } None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair "Hi" { "Hi" } None) + (Pair "Hi" { "Hi" } None) + (Pair "Hi" { "Hi" } None) ] + - location: 13 (just consumed gas: 0.010) + [ "Hi" + (Pair "Hi" { "Hi" } None) + (Pair "Hi" { "Hi" } None) ] + - location: 14 (just consumed gas: 0) + [ (Pair "Hi" { "Hi" } None) + (Pair "Hi" { "Hi" } None) ] + - location: 17 (just consumed gas: 0.010) + [ (Pair { "Hi" } None) + (Pair "Hi" { "Hi" } None) ] + - location: 18 (just consumed gas: 0.010) + [ { "Hi" } + (Pair "Hi" { "Hi" } None) ] + - location: 14 (just consumed gas: 0.025) + [ "Hi" + { "Hi" } + (Pair "Hi" { "Hi" } None) ] + - location: 19 (just consumed gas: 0.119) + [ True + (Pair "Hi" { "Hi" } None) ] + - location: 20 (just consumed gas: 0.010) + [ (Some True) + (Pair "Hi" { "Hi" } None) ] + - location: 21 (just consumed gas: 0) + [ (Pair "Hi" { "Hi" } None) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair { "Hi" } None) ] + - location: 25 (just consumed gas: 0.010) + [ { "Hi" } ] + - location: 21 (just consumed gas: 0.025) + [ (Some True) + { "Hi" } ] + - location: 26 (just consumed gas: 0.010) + [ { "Hi" } + (Some True) ] + - location: 27 (just consumed gas: 0.010) + [ (Pair { "Hi" } (Some True)) ] + - location: 28 (just consumed gas: 0.010) + [ {} + (Pair { "Hi" } (Some True)) ] + - location: 30 (just consumed gas: 0.010) + [ (Pair {} { "Hi" } (Some True)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input403499055-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input403499055-.out new file mode 100644 index 000000000000..8697c1658bdd --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input403499055-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_size.tz on storage 111 and input '{ 1 ; 2 ; 3 ; 4 ; 5 ; 6 }' --level 1 --trace-stack +storage + 6 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.950) + [ (Pair { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { 1 ; 2 ; 3 ; 4 ; 5 ; 6 } ] + - location: 9 (just consumed gas: 0.010) + [ 6 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 6 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 6) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input457300675-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input457300675-.out new file mode 100644 index 000000000000..2ca931c947b1 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input457300675-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_size.tz on storage 111 and input '{}' --level 1 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.395) + [ (Pair {} 111) ] + - location: 8 (just consumed gas: 0.010) + [ {} ] + - location: 9 (just consumed gas: 0.010) + [ 0 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input469078912-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input469078912-.out new file mode 100644 index 000000000000..47969d7fab9e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input469078912-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_size.tz on storage 111 and input '{ 1 ; 2 ; 3 }' --level 1 --trace-stack +storage + 3 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.155) + [ (Pair { 1 ; 2 ; 3 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { 1 ; 2 ; 3 } ] + - location: 9 (just consumed gas: 0.010) + [ 3 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 3 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 3) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input802622031-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input802622031-.out new file mode 100644 index 000000000000..cdd7a94d0a15 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -set_size--storage492856247--input802622031-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/set_size.tz on storage 111 and input '{ 1 }' --level 1 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.625) + [ (Pair { 1 } 111) ] + - location: 8 (just consumed gas: 0.010) + [ { 1 } ] + - location: 9 (just consumed gas: 0.010) + [ 1 ] + - location: 10 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 1) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sha3--storage921624073--input1008262038-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sha3--storage921624073--input1008262038-.out new file mode 100644 index 000000000000..dfdfb4082ba6 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sha3--storage921624073--input1008262038-.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/sha3.tz on storage None and input 0x48656c6c6f2c20776f726c6421 --level 1 --trace-stack +storage + (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 5.053) + [ (Pair 0x48656c6c6f2c20776f726c6421 None) ] + - location: 8 (just consumed gas: 0.010) + [ 0x48656c6c6f2c20776f726c6421 ] + - location: 9 (just consumed gas: 1.457) + [ 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722 ] + - location: 10 (just consumed gas: 0.010) + [ (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) ] + - location: 11 (just consumed gas: 0.010) + [ {} + (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair {} + (Some 0xf345a219da005ebe9c1a1eaad97bbf38a10c8473e41d0af7fb617caa0c6aa722)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input115382786-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input115382786-.out new file mode 100644 index 000000000000..199e2c4437b5 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input115382786-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Left (Pair 15 2))' --level 1 --trace-stack +storage + (Some 60) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Left (Pair 15 2)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Left (Pair 15 2)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 15 2) ] + - location: 17 (just consumed gas: 0.010) + [ 15 + 2 ] + - location: 18 (just consumed gas: 0) + [ 60 ] + - location: 15 (just consumed gas: 0.015) + [ 60 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 60) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 60) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 60)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input271566295-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input271566295-.out new file mode 100644 index 000000000000..1da1d3f437a4 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input271566295-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Right (Pair 0 1))' --level 1 --trace-stack +storage + (Some 0) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Right (Pair 0 1)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Right (Pair 0 1)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 0 1) ] + - location: 20 (just consumed gas: 0.010) + [ 0 + 1 ] + - location: 21 (just consumed gas: 0) + [ 0 ] + - location: 15 (just consumed gas: 0.015) + [ 0 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 0) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 0) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 0)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input340971987-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input340971987-.out new file mode 100644 index 000000000000..72c2af56c0dc --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input340971987-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Left (Pair 0 0))' --level 1 --trace-stack +storage + (Some 0) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Left (Pair 0 0)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Left (Pair 0 0)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 0 0) ] + - location: 17 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 18 (just consumed gas: 0) + [ 0 ] + - location: 15 (just consumed gas: 0.015) + [ 0 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 0) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 0) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 0)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input374168553-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input374168553-.out new file mode 100644 index 000000000000..deb25a1b5321 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input374168553-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Right (Pair 15 2))' --level 1 --trace-stack +storage + (Some 3) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Right (Pair 15 2)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Right (Pair 15 2)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 15 2) ] + - location: 20 (just consumed gas: 0.010) + [ 15 + 2 ] + - location: 21 (just consumed gas: 0) + [ 3 ] + - location: 15 (just consumed gas: 0.015) + [ 3 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 3) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 3) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 3)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input413621582-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input413621582-.out new file mode 100644 index 000000000000..3639b0e38c92 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input413621582-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Right (Pair 1 2))' --level 1 --trace-stack +storage + (Some 0) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Right (Pair 1 2)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Right (Pair 1 2)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 1 2) ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 2 ] + - location: 21 (just consumed gas: 0) + [ 0 ] + - location: 15 (just consumed gas: 0.015) + [ 0 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 0) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 0) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 0)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input424849461-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input424849461-.out new file mode 100644 index 000000000000..11e575479226 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input424849461-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Left (Pair 1 2))' --level 1 --trace-stack +storage + (Some 4) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Left (Pair 1 2)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Left (Pair 1 2)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 1 2) ] + - location: 17 (just consumed gas: 0.010) + [ 1 + 2 ] + - location: 18 (just consumed gas: 0) + [ 4 ] + - location: 15 (just consumed gas: 0.015) + [ 4 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 4) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 4) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 4)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input485030042-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input485030042-.out new file mode 100644 index 000000000000..d8d59df27f81 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input485030042-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Left (Pair 8 1))' --level 1 --trace-stack +storage + (Some 16) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Left (Pair 8 1)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Left (Pair 8 1)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 8 1) ] + - location: 17 (just consumed gas: 0.010) + [ 8 + 1 ] + - location: 18 (just consumed gas: 0) + [ 16 ] + - location: 15 (just consumed gas: 0.015) + [ 16 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 16) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 16) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 16)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input705767726-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input705767726-.out new file mode 100644 index 000000000000..498d0766671f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input705767726-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Right (Pair 8 1))' --level 1 --trace-stack +storage + (Some 4) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Right (Pair 8 1)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Right (Pair 8 1)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 8 1) ] + - location: 20 (just consumed gas: 0.010) + [ 8 + 1 ] + - location: 21 (just consumed gas: 0) + [ 4 ] + - location: 15 (just consumed gas: 0.015) + [ 4 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 4) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 4) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 4)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input769385932-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input769385932-.out new file mode 100644 index 000000000000..247056721446 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input769385932-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Left (Pair 0 1))' --level 1 --trace-stack +storage + (Some 0) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Left (Pair 0 1)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Left (Pair 0 1)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 0 1) ] + - location: 17 (just consumed gas: 0.010) + [ 0 + 1 ] + - location: 18 (just consumed gas: 0) + [ 0 ] + - location: 15 (just consumed gas: 0.015) + [ 0 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 0) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 0) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 0)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input913715337-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input913715337-.out new file mode 100644 index 000000000000..f9f7782da29f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -shifts--storage921624073--input913715337-.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Right (Pair 0 0))' --level 1 --trace-stack +storage + (Some 0) +emitted operations + +big_map diff + +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Right (Pair 0 0)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Right (Pair 0 0)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 0 0) ] + - location: 20 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 21 (just consumed gas: 0) + [ 0 ] + - location: 15 (just consumed gas: 0.015) + [ 0 ] + - location: 22 (just consumed gas: 0.010) + [ (Some 0) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Some 0) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} (Some 0)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage351480851--input65907686-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage351480851--input65907686-.out new file mode 100644 index 000000000000..d7139a56aa51 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage351480851--input65907686-.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice.tz on storage 'Some"FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo"' and input 'Pair 1 10000' --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 69.312) + [ (Pair (Pair 1 10000) + (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo")) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 1 10000) + (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo") ] + - location: 11 (just consumed gas: 0.010) + [ (Some "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo") + (Pair 1 10000) ] + - location: 13 (just consumed gas: 0) + [ "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" + (Pair 1 10000) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 1 10000) + "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 10000 + "FooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFooFoo" ] + - location: 21 (just consumed gas: 3.025) + [ None ] + - location: 13 (just consumed gas: 0.015) + [ None ] + - location: 22 (just consumed gas: 0.010) + [ {} + None ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input198821575-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input198821575-.out new file mode 100644 index 000000000000..5bfb24708ff0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input198821575-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice.tz on storage 'Some "Foo"' and input 'Pair 1 1' --level 1 --trace-stack +storage + (Some "o") +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.342) + [ (Pair (Pair 1 1) (Some "Foo")) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 1 1) + (Some "Foo") ] + - location: 11 (just consumed gas: 0.010) + [ (Some "Foo") + (Pair 1 1) ] + - location: 13 (just consumed gas: 0) + [ "Foo" + (Pair 1 1) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 1 1) + "Foo" ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 1 + "Foo" ] + - location: 21 (just consumed gas: 0.026) + [ (Some "o") ] + - location: 13 (just consumed gas: 0.015) + [ (Some "o") ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Some "o") ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some "o")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input359592843-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input359592843-.out new file mode 100644 index 000000000000..5e5a54fcf9da --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input359592843-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice.tz on storage 'Some "Foo"' and input 'Pair 10 5' --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.342) + [ (Pair (Pair 10 5) (Some "Foo")) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 10 5) + (Some "Foo") ] + - location: 11 (just consumed gas: 0.010) + [ (Some "Foo") + (Pair 10 5) ] + - location: 13 (just consumed gas: 0) + [ "Foo" + (Pair 10 5) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 10 5) + "Foo" ] + - location: 20 (just consumed gas: 0.010) + [ 10 + 5 + "Foo" ] + - location: 21 (just consumed gas: 0.026) + [ None ] + - location: 13 (just consumed gas: 0.015) + [ None ] + - location: 22 (just consumed gas: 0.010) + [ {} + None ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input551316239-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input551316239-.out new file mode 100644 index 000000000000..2dab88e9471b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input551316239-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice.tz on storage 'Some "Foo"' and input 'Pair 0 0' --level 1 --trace-stack +storage + (Some "") +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.342) + [ (Pair (Pair 0 0) (Some "Foo")) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0 0) + (Some "Foo") ] + - location: 11 (just consumed gas: 0.010) + [ (Some "Foo") + (Pair 0 0) ] + - location: 13 (just consumed gas: 0) + [ "Foo" + (Pair 0 0) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 0 0) + "Foo" ] + - location: 20 (just consumed gas: 0.010) + [ 0 + 0 + "Foo" ] + - location: 21 (just consumed gas: 0.026) + [ (Some "") ] + - location: 13 (just consumed gas: 0.015) + [ (Some "") ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Some "") ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some "")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input722749044-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input722749044-.out new file mode 100644 index 000000000000..72579b90bc80 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input722749044-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice.tz on storage 'Some "Foo"' and input 'Pair 0 10' --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.342) + [ (Pair (Pair 0 10) (Some "Foo")) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0 10) + (Some "Foo") ] + - location: 11 (just consumed gas: 0.010) + [ (Some "Foo") + (Pair 0 10) ] + - location: 13 (just consumed gas: 0) + [ "Foo" + (Pair 0 10) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 0 10) + "Foo" ] + - location: 20 (just consumed gas: 0.010) + [ 0 + 10 + "Foo" ] + - location: 21 (just consumed gas: 0.026) + [ None ] + - location: 13 (just consumed gas: 0.015) + [ None ] + - location: 22 (just consumed gas: 0.010) + [ {} + None ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input839234860-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input839234860-.out new file mode 100644 index 000000000000..4a2bdeb5351e --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input839234860-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice.tz on storage 'Some "Foo"' and input 'Pair 1 3' --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.342) + [ (Pair (Pair 1 3) (Some "Foo")) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 1 3) + (Some "Foo") ] + - location: 11 (just consumed gas: 0.010) + [ (Some "Foo") + (Pair 1 3) ] + - location: 13 (just consumed gas: 0) + [ "Foo" + (Pair 1 3) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 1 3) + "Foo" ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 3 + "Foo" ] + - location: 21 (just consumed gas: 0.026) + [ None ] + - location: 13 (just consumed gas: 0.015) + [ None ] + - location: 22 (just consumed gas: 0.010) + [ {} + None ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input919180079-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input919180079-.out new file mode 100644 index 000000000000..d71daa858aa3 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage364922380--input919180079-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice.tz on storage 'Some "Foo"' and input 'Pair 0 2' --level 1 --trace-stack +storage + (Some "Fo") +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.342) + [ (Pair (Pair 0 2) (Some "Foo")) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0 2) + (Some "Foo") ] + - location: 11 (just consumed gas: 0.010) + [ (Some "Foo") + (Pair 0 2) ] + - location: 13 (just consumed gas: 0) + [ "Foo" + (Pair 0 2) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 0 2) + "Foo" ] + - location: 20 (just consumed gas: 0.010) + [ 0 + 2 + "Foo" ] + - location: 21 (just consumed gas: 0.026) + [ (Some "Fo") ] + - location: 13 (just consumed gas: 0.015) + [ (Some "Fo") ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Some "Fo") ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some "Fo")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage921624073--input551316239-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage921624073--input551316239-.out new file mode 100644 index 000000000000..a833f0a7201b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice--storage921624073--input551316239-.out @@ -0,0 +1,31 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice.tz on storage None and input 'Pair 0 0' --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.198) + [ (Pair (Pair 0 0) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0 0) + None ] + - location: 11 (just consumed gas: 0.010) + [ None + (Pair 0 0) ] + - location: 13 (just consumed gas: 0) + [ (Pair 0 0) ] + - location: 15 (just consumed gas: 0.010) + [ ] + - location: 16 (just consumed gas: 0.010) + [ None ] + - location: 13 (just consumed gas: 0.015) + [ None ] + - location: 22 (just consumed gas: 0.010) + [ {} + None ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input198821575-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input198821575-.out new file mode 100644 index 000000000000..c90ee84d4840 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input198821575-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice_bytes.tz on storage 'Some 0xaabbcc' and input 'Pair 1 1' --level 1 --trace-stack +storage + (Some 0xbb) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.298) + [ (Pair (Pair 1 1) (Some 0xaabbcc)) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 1 1) + (Some 0xaabbcc) ] + - location: 11 (just consumed gas: 0.010) + [ (Some 0xaabbcc) + (Pair 1 1) ] + - location: 13 (just consumed gas: 0) + [ 0xaabbcc + (Pair 1 1) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 1 1) + 0xaabbcc ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 1 + 0xaabbcc ] + - location: 21 (just consumed gas: 0.026) + [ (Some 0xbb) ] + - location: 13 (just consumed gas: 0.015) + [ (Some 0xbb) ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Some 0xbb) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some 0xbb)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input462551352-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input462551352-.out new file mode 100644 index 000000000000..34ea3537c2e5 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input462551352-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice_bytes.tz on storage 'Some 0xaabbcc' and input 'Pair 0 1' --level 1 --trace-stack +storage + (Some 0xaa) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.298) + [ (Pair (Pair 0 1) (Some 0xaabbcc)) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0 1) + (Some 0xaabbcc) ] + - location: 11 (just consumed gas: 0.010) + [ (Some 0xaabbcc) + (Pair 0 1) ] + - location: 13 (just consumed gas: 0) + [ 0xaabbcc + (Pair 0 1) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 0 1) + 0xaabbcc ] + - location: 20 (just consumed gas: 0.010) + [ 0 + 1 + 0xaabbcc ] + - location: 21 (just consumed gas: 0.026) + [ (Some 0xaa) ] + - location: 13 (just consumed gas: 0.015) + [ (Some 0xaa) ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Some 0xaa) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some 0xaa)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input489157380-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input489157380-.out new file mode 100644 index 000000000000..6a9f30159ff8 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input489157380-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice_bytes.tz on storage 'Some 0xaabbcc' and input 'Pair 1 2' --level 1 --trace-stack +storage + (Some 0xbbcc) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.298) + [ (Pair (Pair 1 2) (Some 0xaabbcc)) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 1 2) + (Some 0xaabbcc) ] + - location: 11 (just consumed gas: 0.010) + [ (Some 0xaabbcc) + (Pair 1 2) ] + - location: 13 (just consumed gas: 0) + [ 0xaabbcc + (Pair 1 2) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 1 2) + 0xaabbcc ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 2 + 0xaabbcc ] + - location: 21 (just consumed gas: 0.026) + [ (Some 0xbbcc) ] + - location: 13 (just consumed gas: 0.015) + [ (Some 0xbbcc) ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Some 0xbbcc) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some 0xbbcc)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input551316239-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input551316239-.out new file mode 100644 index 000000000000..9f17a9df6a95 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input551316239-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice_bytes.tz on storage 'Some 0xaabbcc' and input 'Pair 0 0' --level 1 --trace-stack +storage + (Some 0x) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.298) + [ (Pair (Pair 0 0) (Some 0xaabbcc)) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0 0) + (Some 0xaabbcc) ] + - location: 11 (just consumed gas: 0.010) + [ (Some 0xaabbcc) + (Pair 0 0) ] + - location: 13 (just consumed gas: 0) + [ 0xaabbcc + (Pair 0 0) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 0 0) + 0xaabbcc ] + - location: 20 (just consumed gas: 0.010) + [ 0 + 0 + 0xaabbcc ] + - location: 21 (just consumed gas: 0.026) + [ (Some 0x) ] + - location: 13 (just consumed gas: 0.015) + [ (Some 0x) ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Some 0x) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some 0x)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input669330759-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input669330759-.out new file mode 100644 index 000000000000..cce8b44a9f39 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input669330759-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice_bytes.tz on storage 'Some 0xaabbcc' and input 'Pair 2 2' --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.298) + [ (Pair (Pair 2 2) (Some 0xaabbcc)) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 2 2) + (Some 0xaabbcc) ] + - location: 11 (just consumed gas: 0.010) + [ (Some 0xaabbcc) + (Pair 2 2) ] + - location: 13 (just consumed gas: 0) + [ 0xaabbcc + (Pair 2 2) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 2 2) + 0xaabbcc ] + - location: 20 (just consumed gas: 0.010) + [ 2 + 2 + 0xaabbcc ] + - location: 21 (just consumed gas: 0.026) + [ None ] + - location: 13 (just consumed gas: 0.015) + [ None ] + - location: 22 (just consumed gas: 0.010) + [ {} + None ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input743596105-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input743596105-.out new file mode 100644 index 000000000000..7e8ae34fcfa9 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input743596105-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice_bytes.tz on storage 'Some 0xaabbcc' and input 'Pair 2 1' --level 1 --trace-stack +storage + (Some 0xcc) +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.298) + [ (Pair (Pair 2 1) (Some 0xaabbcc)) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 2 1) + (Some 0xaabbcc) ] + - location: 11 (just consumed gas: 0.010) + [ (Some 0xaabbcc) + (Pair 2 1) ] + - location: 13 (just consumed gas: 0) + [ 0xaabbcc + (Pair 2 1) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 2 1) + 0xaabbcc ] + - location: 20 (just consumed gas: 0.010) + [ 2 + 1 + 0xaabbcc ] + - location: 21 (just consumed gas: 0.026) + [ (Some 0xcc) ] + - location: 13 (just consumed gas: 0.015) + [ (Some 0xcc) ] + - location: 22 (just consumed gas: 0.010) + [ {} + (Some 0xcc) ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} (Some 0xcc)) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input839234860-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input839234860-.out new file mode 100644 index 000000000000..9b78588cc7b0 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage229749865--input839234860-.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice_bytes.tz on storage 'Some 0xaabbcc' and input 'Pair 1 3' --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.298) + [ (Pair (Pair 1 3) (Some 0xaabbcc)) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 1 3) + (Some 0xaabbcc) ] + - location: 11 (just consumed gas: 0.010) + [ (Some 0xaabbcc) + (Pair 1 3) ] + - location: 13 (just consumed gas: 0) + [ 0xaabbcc + (Pair 1 3) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 1 3) + 0xaabbcc ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 3 + 0xaabbcc ] + - location: 21 (just consumed gas: 0.026) + [ None ] + - location: 13 (just consumed gas: 0.015) + [ None ] + - location: 22 (just consumed gas: 0.010) + [ {} + None ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage504917929--input65907686-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage504917929--input65907686-.out new file mode 100644 index 000000000000..bb842891eb7a --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage504917929--input65907686-.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice_bytes.tz on storage 'Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc' and input 'Pair 1 10000' --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.298) + [ (Pair (Pair 1 10000) + (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc)) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 1 10000) + (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc) ] + - location: 11 (just consumed gas: 0.010) + [ (Some 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc) + (Pair 1 10000) ] + - location: 13 (just consumed gas: 0) + [ 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc + (Pair 1 10000) ] + - location: 19 (just consumed gas: 0.010) + [ (Pair 1 10000) + 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 10000 + 0xaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbccaabbcc ] + - location: 21 (just consumed gas: 3.025) + [ None ] + - location: 13 (just consumed gas: 0.015) + [ None ] + - location: 22 (just consumed gas: 0.010) + [ {} + None ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage921624073--input462551352-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage921624073--input462551352-.out new file mode 100644 index 000000000000..1c923f718b16 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -slice_bytes--storage921624073--input462551352-.out @@ -0,0 +1,31 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/slice_bytes.tz on storage None and input 'Pair 0 1' --level 1 --trace-stack +storage + None +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 9.198) + [ (Pair (Pair 0 1) None) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 0 1) + None ] + - location: 11 (just consumed gas: 0.010) + [ None + (Pair 0 1) ] + - location: 13 (just consumed gas: 0) + [ (Pair 0 1) ] + - location: 15 (just consumed gas: 0.010) + [ ] + - location: 16 (just consumed gas: 0.010) + [ None ] + - location: 13 (just consumed gas: 0.015) + [ None ] + - location: 22 (just consumed gas: 0.010) + [ {} + None ] + - location: 24 (just consumed gas: 0.010) + [ (Pair {} None) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -str_id--storage921624073--input1016369050-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -str_id--storage921624073--input1016369050-.out new file mode 100644 index 000000000000..9afed0e4b440 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -str_id--storage921624073--input1016369050-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/str_id.tz on storage None and input '"abcd"' --level 1 --trace-stack +storage + (Some "abcd") +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.554) + [ (Pair "abcd" None) ] + - location: 8 (just consumed gas: 0.010) + [ "abcd" ] + - location: 9 (just consumed gas: 0.010) + [ (Some "abcd") ] + - location: 10 (just consumed gas: 0.010) + [ {} + (Some "abcd") ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} (Some "abcd")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -str_id--storage921624073--input93477117-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -str_id--storage921624073--input93477117-.out new file mode 100644 index 000000000000..dfb58511aa65 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -str_id--storage921624073--input93477117-.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/str_id.tz on storage None and input '"Hello"' --level 1 --trace-stack +storage + (Some "Hello") +emitted operations + +big_map diff + +trace + - location: 8 (just consumed gas: 4.564) + [ (Pair "Hello" None) ] + - location: 8 (just consumed gas: 0.010) + [ "Hello" ] + - location: 9 (just consumed gas: 0.010) + [ (Some "Hello") ] + - location: 10 (just consumed gas: 0.010) + [ {} + (Some "Hello") ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} (Some "Hello")) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input249636002-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input249636002-.out new file mode 100644 index 000000000000..1700277f6dd2 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input249636002-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/sub_timestamp_delta.tz on storage 111 and input '(Pair 100 100)' --level 1 --trace-stack +storage + "1970-01-01T00:00:00Z" +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 7.437) + [ (Pair (Pair "1970-01-01T00:01:40Z" 100) "1970-01-01T00:01:51Z") ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" 100) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" 100) + (Pair "1970-01-01T00:01:40Z" 100) ] + - location: 11 (just consumed gas: 0.010) + [ "1970-01-01T00:01:40Z" + (Pair "1970-01-01T00:01:40Z" 100) ] + - location: 12 (just consumed gas: 0) + [ (Pair "1970-01-01T00:01:40Z" 100) ] + - location: 14 (just consumed gas: 0.010) + [ 100 ] + - location: 12 (just consumed gas: 0.025) + [ "1970-01-01T00:01:40Z" + 100 ] + - location: 15 (just consumed gas: 0.035) + [ "1970-01-01T00:00:00Z" ] + - location: 16 (just consumed gas: 0.010) + [ {} + "1970-01-01T00:00:00Z" ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} "1970-01-01T00:00:00Z") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input307538219-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input307538219-.out new file mode 100644 index 000000000000..d20a8b9dbd22 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input307538219-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/sub_timestamp_delta.tz on storage 111 and input '(Pair 100 -100)' --level 1 --trace-stack +storage + "1970-01-01T00:03:20Z" +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 7.437) + [ (Pair (Pair "1970-01-01T00:01:40Z" -100) "1970-01-01T00:01:51Z") ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" -100) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" -100) + (Pair "1970-01-01T00:01:40Z" -100) ] + - location: 11 (just consumed gas: 0.010) + [ "1970-01-01T00:01:40Z" + (Pair "1970-01-01T00:01:40Z" -100) ] + - location: 12 (just consumed gas: 0) + [ (Pair "1970-01-01T00:01:40Z" -100) ] + - location: 14 (just consumed gas: 0.010) + [ -100 ] + - location: 12 (just consumed gas: 0.025) + [ "1970-01-01T00:01:40Z" + -100 ] + - location: 15 (just consumed gas: 0.035) + [ "1970-01-01T00:03:20Z" ] + - location: 16 (just consumed gas: 0.010) + [ {} + "1970-01-01T00:03:20Z" ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} "1970-01-01T00:03:20Z") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input831449542-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input831449542-.out new file mode 100644 index 000000000000..df510b9f71ce --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -sub_timestamp_delta--storage492856247--input831449542-.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/sub_timestamp_delta.tz on storage 111 and input '(Pair 100 2000000000000000000)' --level 1 --trace-stack +storage + -1999999999999999900 +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 7.437) + [ (Pair (Pair "1970-01-01T00:01:40Z" 2000000000000000000) "1970-01-01T00:01:51Z") ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) + (Pair "1970-01-01T00:01:40Z" 2000000000000000000) ] + - location: 11 (just consumed gas: 0.010) + [ "1970-01-01T00:01:40Z" + (Pair "1970-01-01T00:01:40Z" 2000000000000000000) ] + - location: 12 (just consumed gas: 0) + [ (Pair "1970-01-01T00:01:40Z" 2000000000000000000) ] + - location: 14 (just consumed gas: 0.010) + [ 2000000000000000000 ] + - location: 12 (just consumed gas: 0.025) + [ "1970-01-01T00:01:40Z" + 2000000000000000000 ] + - location: 15 (just consumed gas: 0.039) + [ -1999999999999999900 ] + - location: 16 (just consumed gas: 0.010) + [ {} + -1999999999999999900 ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} -1999999999999999900) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -tez_add_sub--storage921624073--input706350605-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -tez_add_sub--storage921624073--input706350605-.out new file mode 100644 index 000000000000..5f949277851f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -tez_add_sub--storage921624073--input706350605-.out @@ -0,0 +1,71 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/tez_add_sub.tz on storage None and input '(Pair 2310000 1010000)' --level 1 --trace-stack +storage + (Some (Pair 3320000 1300000)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 16.995) + [ (Pair (Pair 2310000 1010000) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair 2310000 1010000) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair 2310000 1010000) + (Pair 2310000 1010000) ] + - location: 14 (just consumed gas: 0.010) + [ (Pair 2310000 1010000) + (Pair 2310000 1010000) + (Pair 2310000 1010000) ] + - location: 15 (just consumed gas: 0.010) + [ 2310000 + (Pair 2310000 1010000) + (Pair 2310000 1010000) ] + - location: 16 (just consumed gas: 0) + [ (Pair 2310000 1010000) + (Pair 2310000 1010000) ] + - location: 18 (just consumed gas: 0.010) + [ 1010000 + (Pair 2310000 1010000) ] + - location: 16 (just consumed gas: 0.025) + [ 2310000 + 1010000 + (Pair 2310000 1010000) ] + - location: 19 (just consumed gas: 0.020) + [ 3320000 + (Pair 2310000 1010000) ] + - location: 20 (just consumed gas: 0) + [ (Pair 2310000 1010000) ] + - location: 22 (just consumed gas: 0.010) + [ (Pair 2310000 1010000) + (Pair 2310000 1010000) ] + - location: 23 (just consumed gas: 0.010) + [ 2310000 + (Pair 2310000 1010000) ] + - location: 24 (just consumed gas: 0) + [ (Pair 2310000 1010000) ] + - location: 26 (just consumed gas: 0.010) + [ 1010000 ] + - location: 24 (just consumed gas: 0.025) + [ 2310000 + 1010000 ] + - location: 27 (just consumed gas: 0.015) + [ (Some 1300000) ] + - location: 29 (just consumed gas: 0) + [ 1300000 ] + - location: 29 (just consumed gas: 0.015) + [ 1300000 ] + - location: 20 (just consumed gas: 0.025) + [ 3320000 + 1300000 ] + - location: 35 (just consumed gas: 0.010) + [ (Pair 3320000 1300000) ] + - location: 36 (just consumed gas: 0.010) + [ (Some (Pair 3320000 1300000)) ] + - location: 37 (just consumed gas: 0.010) + [ {} + (Some (Pair 3320000 1300000)) ] + - location: 39 (just consumed gas: 0.010) + [ (Pair {} (Some (Pair 3320000 1300000))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -tez_add_sub--storage921624073--input856198194-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -tez_add_sub--storage921624073--input856198194-.out new file mode 100644 index 000000000000..ca64db98fe51 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -tez_add_sub--storage921624073--input856198194-.out @@ -0,0 +1,71 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/tez_add_sub.tz on storage None and input '(Pair 2000000 1000000)' --level 1 --trace-stack +storage + (Some (Pair 3000000 1000000)) +emitted operations + +big_map diff + +trace + - location: 12 (just consumed gas: 16.995) + [ (Pair (Pair 2000000 1000000) None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair 2000000 1000000) ] + - location: 13 (just consumed gas: 0.010) + [ (Pair 2000000 1000000) + (Pair 2000000 1000000) ] + - location: 14 (just consumed gas: 0.010) + [ (Pair 2000000 1000000) + (Pair 2000000 1000000) + (Pair 2000000 1000000) ] + - location: 15 (just consumed gas: 0.010) + [ 2000000 + (Pair 2000000 1000000) + (Pair 2000000 1000000) ] + - location: 16 (just consumed gas: 0) + [ (Pair 2000000 1000000) + (Pair 2000000 1000000) ] + - location: 18 (just consumed gas: 0.010) + [ 1000000 + (Pair 2000000 1000000) ] + - location: 16 (just consumed gas: 0.025) + [ 2000000 + 1000000 + (Pair 2000000 1000000) ] + - location: 19 (just consumed gas: 0.020) + [ 3000000 + (Pair 2000000 1000000) ] + - location: 20 (just consumed gas: 0) + [ (Pair 2000000 1000000) ] + - location: 22 (just consumed gas: 0.010) + [ (Pair 2000000 1000000) + (Pair 2000000 1000000) ] + - location: 23 (just consumed gas: 0.010) + [ 2000000 + (Pair 2000000 1000000) ] + - location: 24 (just consumed gas: 0) + [ (Pair 2000000 1000000) ] + - location: 26 (just consumed gas: 0.010) + [ 1000000 ] + - location: 24 (just consumed gas: 0.025) + [ 2000000 + 1000000 ] + - location: 27 (just consumed gas: 0.015) + [ (Some 1000000) ] + - location: 29 (just consumed gas: 0) + [ 1000000 ] + - location: 29 (just consumed gas: 0.015) + [ 1000000 ] + - location: 20 (just consumed gas: 0.025) + [ 3000000 + 1000000 ] + - location: 35 (just consumed gas: 0.010) + [ (Pair 3000000 1000000) ] + - location: 36 (just consumed gas: 0.010) + [ (Some (Pair 3000000 1000000)) ] + - location: 37 (just consumed gas: 0.010) + [ {} + (Some (Pair 3000000 1000000)) ] + - location: 39 (just consumed gas: 0.010) + [ (Pair {} (Some (Pair 3000000 1000000))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -uncomb--storage680650890--input394061083-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -uncomb--storage680650890--input394061083-.out new file mode 100644 index 000000000000..0755fa8e6bab --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -uncomb--storage680650890--input394061083-.out @@ -0,0 +1,50 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/uncomb.tz on storage 0 and input '(Pair 1 4 2)' --level 1 --trace-stack +storage + 142 +emitted operations + +big_map diff + +trace + - location: 10 (just consumed gas: 10.144) + [ (Pair (Pair 1 4 2) 0) ] + - location: 10 (just consumed gas: 0.010) + [ (Pair 1 4 2) ] + - location: 11 (just consumed gas: 0.037) + [ 1 + 4 + 2 ] + - location: 13 (just consumed gas: 0.010) + [ 100 + 1 + 4 + 2 ] + - location: 16 (just consumed gas: 0.059) + [ 100 + 4 + 2 ] + - location: 17 (just consumed gas: 0.010) + [ 4 + 100 + 2 ] + - location: 18 (just consumed gas: 0.010) + [ 10 + 4 + 100 + 2 ] + - location: 21 (just consumed gas: 0.059) + [ 40 + 100 + 2 ] + - location: 22 (just consumed gas: 0.035) + [ 140 + 2 ] + - location: 23 (just consumed gas: 0.035) + [ 142 ] + - location: 24 (just consumed gas: 0.010) + [ {} + 142 ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} 142) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -unpair--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -unpair--storage125992234--input125992234-.out new file mode 100644 index 000000000000..5bed90c08745 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -unpair--storage125992234--input125992234-.out @@ -0,0 +1,462 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/unpair.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 127.791) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ Unit ] + - location: 9 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 10 (just consumed gas: 0.010) + [ (Pair Unit Unit) ] + - location: 11 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 12 (just consumed gas: 0.035) + [ ] + - location: 14 (just consumed gas: 0.010) + [ Unit ] + - location: 15 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 16 (just consumed gas: 0.010) + [ (Pair Unit Unit) ] + - location: 17 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 18 (just consumed gas: 0.035) + [ ] + - location: 20 (just consumed gas: 0.010) + [ Unit ] + - location: 21 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 22 (just consumed gas: 0.010) + [ (Pair Unit Unit) ] + - location: 23 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 24 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 25 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 27 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 28 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 29 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 32 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 33 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 35 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 36 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 37 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 39 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 40 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 41 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 43 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 44 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 45 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 47 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 48 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 49 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 51 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 52 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 53 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 55 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 56 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 57 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 59 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 60 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 61 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 63 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 64 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 65 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 67 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 68 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 69 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 71 (just consumed gas: 0.010) + [ ] + - location: 72 (just consumed gas: 0.010) + [ Unit ] + - location: 73 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 74 (just consumed gas: 0.010) + [ (Pair Unit Unit) ] + - location: 75 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 76 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 77 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 79 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 80 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 81 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 83 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 84 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 85 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 87 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 88 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 89 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 91 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 92 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 93 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 95 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 96 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 97 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 99 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 100 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 101 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 103 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 104 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 105 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 107 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 108 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 109 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 111 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 112 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 113 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 115 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 116 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 117 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 119 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 120 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 121 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 123 (just consumed gas: 0.010) + [ ] + - location: 124 (just consumed gas: 0.010) + [ Unit ] + - location: 125 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 126 (just consumed gas: 0.010) + [ (Pair Unit Unit) ] + - location: 127 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 128 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 129 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 131 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 132 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 133 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 135 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 136 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 137 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 139 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 140 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 141 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 143 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 144 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 145 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 147 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 148 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 149 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 151 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 152 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 153 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 155 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 156 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 157 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 159 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 160 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 161 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 163 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 164 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 165 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 167 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 168 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 169 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 171 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 172 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 173 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 175 (just consumed gas: 0.010) + [ ] + - location: 176 (just consumed gas: 0.010) + [ Unit ] + - location: 177 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 178 (just consumed gas: 0.010) + [ (Pair Unit Unit) ] + - location: 179 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 180 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 181 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 183 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 184 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 185 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 187 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 188 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 189 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 191 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 192 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 193 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 195 (just consumed gas: 0.010) + [ (Pair Unit Unit) + (Pair Unit Unit) ] + - location: 196 (just consumed gas: 0.010) + [ Unit + Unit + (Pair Unit Unit) ] + - location: 197 (just consumed gas: 0.035) + [ (Pair Unit Unit) ] + - location: 199 (just consumed gas: 0.010) + [ ] + - location: 200 (just consumed gas: 0.010) + [ Unit ] + - location: 201 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 202 (just consumed gas: 0.010) + [ (Pair Unit Unit) ] + - location: 203 (just consumed gas: 0.010) + [ Unit + Unit ] + - location: 204 (just consumed gas: 0.035) + [ ] + - location: 206 (just consumed gas: 0.010) + [ Unit ] + - location: 207 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 209 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -voting_power--storage1011138251--input1040351577-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -voting_power--storage1011138251--input1040351577-.out new file mode 100644 index 000000000000..506036f58fcb --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -voting_power--storage1011138251--input1040351577-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/voting_power.tz on storage '(Pair 0 0)' and input '"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav"' --level 1 --trace-stack +storage + (Pair 4000000000000 20000000000000) +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 332.347) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" 0 0) ] + - location: 9 (just consumed gas: 0.010) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" ] + - location: 10 (just consumed gas: 0.605) + [ "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ] + - location: 11 (just consumed gas: 220.656) + [ 4000000000000 ] + - location: 12 (just consumed gas: 0) + [ ] + - location: 14 (just consumed gas: 210.466) + [ 20000000000000 ] + - location: 12 (just consumed gas: 0.025) + [ 4000000000000 + 20000000000000 ] + - location: 15 (just consumed gas: 0.010) + [ (Pair 4000000000000 20000000000000) ] + - location: 16 (just consumed gas: 0.010) + [ {} + (Pair 4000000000000 20000000000000) ] + - location: 18 (just consumed gas: 0.010) + [ (Pair {} 4000000000000 20000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input1058477720-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input1058477720-.out new file mode 100644 index 000000000000..ae02f3ed03c4 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input1058477720-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Left (Pair False False)' --level 1 --trace-stack +storage + (Some (Left False)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Left (Pair False False)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Left (Pair False False)) ] + - location: 17 (just consumed gas: 0) + [ (Pair False False) ] + - location: 19 (just consumed gas: 0.010) + [ False + False ] + - location: 20 (just consumed gas: 0.015) + [ False ] + - location: 21 (just consumed gas: 0.010) + [ (Left False) ] + - location: 17 (just consumed gas: 0.015) + [ (Left False) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Left False)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Left False)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Left False))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input1073176155-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input1073176155-.out new file mode 100644 index 000000000000..8e8631345365 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input1073176155-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Right (Pair 0 0)' --level 1 --trace-stack +storage + (Some (Right 0)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Right (Pair 0 0)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Right (Pair 0 0)) ] + - location: 17 (just consumed gas: 0) + [ (Pair 0 0) ] + - location: 24 (just consumed gas: 0.010) + [ 0 + 0 ] + - location: 25 (just consumed gas: 0.035) + [ 0 ] + - location: 26 (just consumed gas: 0.010) + [ (Right 0) ] + - location: 17 (just consumed gas: 0.015) + [ (Right 0) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Right 0)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Right 0)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Right 0))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input246594902-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input246594902-.out new file mode 100644 index 000000000000..7b9eaafcf2ea --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input246594902-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Left (Pair True False)' --level 1 --trace-stack +storage + (Some (Left True)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Left (Pair True False)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Left (Pair True False)) ] + - location: 17 (just consumed gas: 0) + [ (Pair True False) ] + - location: 19 (just consumed gas: 0.010) + [ True + False ] + - location: 20 (just consumed gas: 0.015) + [ True ] + - location: 21 (just consumed gas: 0.010) + [ (Left True) ] + - location: 17 (just consumed gas: 0.015) + [ (Left True) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Left True)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Left True)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Left True))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input506603577-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input506603577-.out new file mode 100644 index 000000000000..d612f35f15ae --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input506603577-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Right (Pair 1 1)' --level 1 --trace-stack +storage + (Some (Right 0)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Right (Pair 1 1)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Right (Pair 1 1)) ] + - location: 17 (just consumed gas: 0) + [ (Pair 1 1) ] + - location: 24 (just consumed gas: 0.010) + [ 1 + 1 ] + - location: 25 (just consumed gas: 0.035) + [ 0 ] + - location: 26 (just consumed gas: 0.010) + [ (Right 0) ] + - location: 17 (just consumed gas: 0.015) + [ (Right 0) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Right 0)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Right 0)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Right 0))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input576248088-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input576248088-.out new file mode 100644 index 000000000000..f78aea37e4b1 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input576248088-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Right (Pair 0 1)' --level 1 --trace-stack +storage + (Some (Right 1)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Right (Pair 0 1)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Right (Pair 0 1)) ] + - location: 17 (just consumed gas: 0) + [ (Pair 0 1) ] + - location: 24 (just consumed gas: 0.010) + [ 0 + 1 ] + - location: 25 (just consumed gas: 0.035) + [ 1 ] + - location: 26 (just consumed gas: 0.010) + [ (Right 1) ] + - location: 17 (just consumed gas: 0.015) + [ (Right 1) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Right 1)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Right 1)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Right 1))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input612012282-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input612012282-.out new file mode 100644 index 000000000000..1095a933fb6c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input612012282-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Right (Pair 42 21)' --level 1 --trace-stack +storage + (Some (Right 63)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Right (Pair 42 21)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Right (Pair 42 21)) ] + - location: 17 (just consumed gas: 0) + [ (Pair 42 21) ] + - location: 24 (just consumed gas: 0.010) + [ 42 + 21 ] + - location: 25 (just consumed gas: 0.035) + [ 63 ] + - location: 26 (just consumed gas: 0.010) + [ (Right 63) ] + - location: 17 (just consumed gas: 0.015) + [ (Right 63) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Right 63)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Right 63)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Right 63))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input617591686-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input617591686-.out new file mode 100644 index 000000000000..9c171ffd6e85 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input617591686-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Left (Pair False True)' --level 1 --trace-stack +storage + (Some (Left True)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Left (Pair False True)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Left (Pair False True)) ] + - location: 17 (just consumed gas: 0) + [ (Pair False True) ] + - location: 19 (just consumed gas: 0.010) + [ False + True ] + - location: 20 (just consumed gas: 0.015) + [ True ] + - location: 21 (just consumed gas: 0.010) + [ (Left True) ] + - location: 17 (just consumed gas: 0.015) + [ (Left True) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Left True)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Left True)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Left True))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input639311176-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input639311176-.out new file mode 100644 index 000000000000..b52fc04dd01b --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input639311176-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Left (Pair True True)' --level 1 --trace-stack +storage + (Some (Left False)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Left (Pair True True)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Left (Pair True True)) ] + - location: 17 (just consumed gas: 0) + [ (Pair True True) ] + - location: 19 (just consumed gas: 0.010) + [ True + True ] + - location: 20 (just consumed gas: 0.015) + [ False ] + - location: 21 (just consumed gas: 0.010) + [ (Left False) ] + - location: 17 (just consumed gas: 0.015) + [ (Left False) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Left False)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Left False)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Left False))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input688315180-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input688315180-.out new file mode 100644 index 000000000000..7a576edb7097 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input688315180-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Right (Pair 42 63)' --level 1 --trace-stack +storage + (Some (Right 21)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Right (Pair 42 63)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Right (Pair 42 63)) ] + - location: 17 (just consumed gas: 0) + [ (Pair 42 63) ] + - location: 24 (just consumed gas: 0.010) + [ 42 + 63 ] + - location: 25 (just consumed gas: 0.035) + [ 21 ] + - location: 26 (just consumed gas: 0.010) + [ (Right 21) ] + - location: 17 (just consumed gas: 0.015) + [ (Right 21) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Right 21)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Right 21)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Right 21))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input967929605-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input967929605-.out new file mode 100644 index 000000000000..6d9d1eb1822d --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor--storage921624073--input967929605-.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor.tz on storage None and input 'Right (Pair 1 0)' --level 1 --trace-stack +storage + (Some (Right 1)) +emitted operations + +big_map diff + +trace + - location: 16 (just consumed gas: 11.026) + [ (Pair (Right (Pair 1 0)) None) ] + - location: 16 (just consumed gas: 0.010) + [ (Right (Pair 1 0)) ] + - location: 17 (just consumed gas: 0) + [ (Pair 1 0) ] + - location: 24 (just consumed gas: 0.010) + [ 1 + 0 ] + - location: 25 (just consumed gas: 0.035) + [ 1 ] + - location: 26 (just consumed gas: 0.010) + [ (Right 1) ] + - location: 17 (just consumed gas: 0.015) + [ (Right 1) ] + - location: 28 (just consumed gas: 0.010) + [ (Some (Right 1)) ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Some (Right 1)) ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} (Some (Right 1))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor_bytes--storage125992234--input125992234-.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor_bytes--storage125992234--input125992234-.out new file mode 100644 index 000000000000..123e16a25d23 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- opcodes -xor_bytes--storage125992234--input125992234-.out @@ -0,0 +1,75 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings run script michelson_test_scripts/opcodes/xor_bytes_016.tz on storage Unit and input Unit --level 1 --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 28.329) + [ (Pair Unit Unit) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 0x05 ] + - location: 11 (just consumed gas: 0.010) + [ 0x06 + 0x05 ] + - location: 14 (just consumed gas: 0.040) + [ 0x03 ] + - location: 15 (just consumed gas: 0.010) + [ 0x03 + 0x03 ] + - location: 20 (just consumed gas: 0.035) + [ 0 ] + - location: 21 (just consumed gas: 0.010) + [ True ] + - location: 22 (just consumed gas: 0) + [ ] + - location: 22 (just consumed gas: 0.015) + [ ] + - location: 28 (just consumed gas: 0.010) + [ 0x0005 ] + - location: 31 (just consumed gas: 0.010) + [ 0x0106 + 0x0005 ] + - location: 34 (just consumed gas: 0.041) + [ 0x0103 ] + - location: 35 (just consumed gas: 0.010) + [ 0x0103 + 0x0103 ] + - location: 40 (just consumed gas: 0.035) + [ 0 ] + - location: 41 (just consumed gas: 0.010) + [ True ] + - location: 42 (just consumed gas: 0) + [ ] + - location: 42 (just consumed gas: 0.015) + [ ] + - location: 48 (just consumed gas: 0.010) + [ 0x05 ] + - location: 51 (just consumed gas: 0.010) + [ 0x0106 + 0x05 ] + - location: 54 (just consumed gas: 0.041) + [ 0x0103 ] + - location: 55 (just consumed gas: 0.010) + [ 0x0103 + 0x0103 ] + - location: 60 (just consumed gas: 0.035) + [ 0 ] + - location: 61 (just consumed gas: 0.010) + [ True ] + - location: 62 (just consumed gas: 0) + [ ] + - location: 62 (just consumed gas: 0.015) + [ ] + - location: 68 (just consumed gas: 0.010) + [ Unit ] + - location: 69 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 71 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- BALANCE.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- BALANCE.out new file mode 100644 index 000000000000..3c08f747989c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- BALANCE.out @@ -0,0 +1,147 @@ + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/balance.tz on storage 0 and input Unit --balance 0 --trace-stack +storage + 0 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 0) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 0 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 0 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 0) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/balance.tz on storage 0 and input Unit --balance 0.000001 --trace-stack +storage + 1 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 0) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 1 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 1 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 1) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/balance.tz on storage 0 and input Unit --balance 0.5 --trace-stack +storage + 500000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 0) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 500000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 500000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 500000) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/balance.tz on storage 0 and input Unit --balance 1 --trace-stack +storage + 1000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 0) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 1000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 1000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 1000000) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/balance.tz on storage 0 and input Unit --balance 5 --trace-stack +storage + 5000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 0) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 5000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 5000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 5000000) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/balance.tz on storage 0 and input Unit --balance 1000 --trace-stack +storage + 1000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 0) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 1000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 1000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 1000000000) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/balance.tz on storage 0 and input Unit --balance 8000000 --trace-stack +storage + 8000000000000 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 0) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 8000000000000 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 8000000000000 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 8000000000000) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- LEVEL.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- LEVEL.out new file mode 100644 index 000000000000..339ed66cc97f --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- LEVEL.out @@ -0,0 +1,21 @@ + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/level.tz on storage 9999999 and input Unit --level 10 --trace-stack +storage + 10 +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.267) + [ (Pair Unit 9999999) ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ 10 ] + - location: 9 (just consumed gas: 0.010) + [ {} + 10 ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} 10) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- NOW.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- NOW.out new file mode 100644 index 000000000000..bad3f4a1a051 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- NOW.out @@ -0,0 +1,21 @@ + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/store_now.tz on storage '"2017-07-13T09:19:01Z"' and input Unit --trace-stack --now 2021-10-13T10:16:52Z +storage + "2021-10-13T10:16:52Z" +emitted operations + +big_map diff + +trace + - location: 7 (just consumed gas: 4.375) + [ (Pair Unit "2017-07-13T09:19:01Z") ] + - location: 7 (just consumed gas: 0.010) + [ ] + - location: 8 (just consumed gas: 0.010) + [ "2021-10-13T10:16:52Z" ] + - location: 9 (just consumed gas: 0.010) + [ {} + "2021-10-13T10:16:52Z" ] + - location: 11 (just consumed gas: 0.010) + [ (Pair {} "2021-10-13T10:16:52Z") ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- arithmetic_overflow.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- arithmetic_overflow.out new file mode 100644 index 000000000000..3876a5bc8106 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- arithmetic_overflow.out @@ -0,0 +1,224 @@ + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Left (Pair 1 257))' --trace-stack +Runtime error in contract KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi: + 01: parameter (or (pair nat nat) (pair nat nat)); + 02: storage (option nat); + 03: # this contract takes either (Left a b) and stores (a << b) + 04: # or (Right a b) and stores (a >> b). + 05: # i.e., in the first case, the first component shifted to the left by + 06: # the second, and the second case, component shifted to the right by + 07: # the second. + 08: code { CAR; + 09: IF_LEFT { + 10: UNPAIR; LSL; + 11: } + 12: { + 13: UNPAIR; LSR; + 14: }; + 15: SOME; + 16: NIL operation; + 17: PAIR; + 18: }; + 19: +At line 10 characters 25 to 28, +unexpected arithmetic overflow +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Left (Pair 1 257)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Left (Pair 1 257)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 1 257) ] + - location: 17 (just consumed gas: 0.010) + [ 1 + 257 ] +Fatal error: + error running script + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Left (Pair 123 257))' --trace-stack +Runtime error in contract KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi: + 01: parameter (or (pair nat nat) (pair nat nat)); + 02: storage (option nat); + 03: # this contract takes either (Left a b) and stores (a << b) + 04: # or (Right a b) and stores (a >> b). + 05: # i.e., in the first case, the first component shifted to the left by + 06: # the second, and the second case, component shifted to the right by + 07: # the second. + 08: code { CAR; + 09: IF_LEFT { + 10: UNPAIR; LSL; + 11: } + 12: { + 13: UNPAIR; LSR; + 14: }; + 15: SOME; + 16: NIL operation; + 17: PAIR; + 18: }; + 19: +At line 10 characters 25 to 28, +unexpected arithmetic overflow +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Left (Pair 123 257)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Left (Pair 123 257)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 123 257) ] + - location: 17 (just consumed gas: 0.010) + [ 123 + 257 ] +Fatal error: + error running script + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Right (Pair 1 257))' --trace-stack +Runtime error in contract KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi: + 01: parameter (or (pair nat nat) (pair nat nat)); + 02: storage (option nat); + 03: # this contract takes either (Left a b) and stores (a << b) + 04: # or (Right a b) and stores (a >> b). + 05: # i.e., in the first case, the first component shifted to the left by + 06: # the second, and the second case, component shifted to the right by + 07: # the second. + 08: code { CAR; + 09: IF_LEFT { + 10: UNPAIR; LSL; + 11: } + 12: { + 13: UNPAIR; LSR; + 14: }; + 15: SOME; + 16: NIL operation; + 17: PAIR; + 18: }; + 19: +At line 13 characters 25 to 28, +unexpected arithmetic overflow +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Right (Pair 1 257)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Right (Pair 1 257)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 1 257) ] + - location: 20 (just consumed gas: 0.010) + [ 1 + 257 ] +Fatal error: + error running script + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/shifts.tz on storage None and input '(Right (Pair 123 257))' --trace-stack +Runtime error in contract KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi: + 01: parameter (or (pair nat nat) (pair nat nat)); + 02: storage (option nat); + 03: # this contract takes either (Left a b) and stores (a << b) + 04: # or (Right a b) and stores (a >> b). + 05: # i.e., in the first case, the first component shifted to the left by + 06: # the second, and the second case, component shifted to the right by + 07: # the second. + 08: code { CAR; + 09: IF_LEFT { + 10: UNPAIR; LSL; + 11: } + 12: { + 13: UNPAIR; LSR; + 14: }; + 15: SOME; + 16: NIL operation; + 17: PAIR; + 18: }; + 19: +At line 13 characters 25 to 28, +unexpected arithmetic overflow +trace + - location: 14 (just consumed gas: 8.811) + [ (Pair (Right (Pair 123 257)) None) ] + - location: 14 (just consumed gas: 0.010) + [ (Right (Pair 123 257)) ] + - location: 15 (just consumed gas: 0) + [ (Pair 123 257) ] + - location: 20 (just consumed gas: 0.010) + [ 123 + 257 ] +Fatal error: + error running script + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/mul_overflow.tz on storage Unit and input 'Left Unit' --trace-stack +Runtime error in contract KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi: + 01: parameter (or unit unit) ; + 02: storage unit ; + 03: code { CAR ; + 04: IF_LEFT + 05: { + 06: PUSH nat 922337203685477580700 ; + 07: PUSH mutez 10 ; + 08: MUL ; # FAILURE + 09: DROP + 10: } + 11: { + 12: PUSH mutez 10 ; + 13: PUSH nat 922337203685477580700 ; + 14: MUL ; # FAILURE + 15: DROP + 16: } ; + 17: + 18: NIL operation ; PAIR } + 19: +At line 8 characters 11 to 14, +unexpected arithmetic overflow +trace + - location: 9 (just consumed gas: 11.246) + [ (Pair (Left Unit) Unit) ] + - location: 9 (just consumed gas: 0.010) + [ (Left Unit) ] + - location: 10 (just consumed gas: 0) + [ Unit ] + - location: 12 (just consumed gas: 0.010) + [ 922337203685477580700 + Unit ] + - location: 15 (just consumed gas: 0.010) + [ 10 + 922337203685477580700 + Unit ] +Fatal error: + error running script + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/mul_overflow.tz on storage Unit and input 'Right Unit' --trace-stack +Runtime error in contract KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi: + 01: parameter (or unit unit) ; + 02: storage unit ; + 03: code { CAR ; + 04: IF_LEFT + 05: { + 06: PUSH nat 922337203685477580700 ; + 07: PUSH mutez 10 ; + 08: MUL ; # FAILURE + 09: DROP + 10: } + 11: { + 12: PUSH mutez 10 ; + 13: PUSH nat 922337203685477580700 ; + 14: MUL ; # FAILURE + 15: DROP + 16: } ; + 17: + 18: NIL operation ; PAIR } + 19: +At line 14 characters 11 to 14, +unexpected arithmetic overflow +trace + - location: 9 (just consumed gas: 11.246) + [ (Pair (Right Unit) Unit) ] + - location: 9 (just consumed gas: 0.010) + [ (Right Unit) ] + - location: 10 (just consumed gas: 0) + [ Unit ] + - location: 21 (just consumed gas: 0.010) + [ 10 + Unit ] + - location: 24 (just consumed gas: 0.010) + [ 922337203685477580700 + 10 + Unit ] +Fatal error: + error running script diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- big_map_contract_io.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- big_map_contract_io.out new file mode 100644 index 000000000000..a3c2b8fc908c --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- big_map_contract_io.out @@ -0,0 +1,1088 @@ + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_big_map_value.tz on storage '(Pair { Elt "hello" "hi" } None)' and input '"hello"' --trace-stack +storage + (Pair 4 (Some "hi")) +emitted operations + +big_map diff + New map(4) of type (big_map string string) + Set map(4)["hello"] to "hi" +trace + - location: 12 (just consumed gas: 12.614) + [ (Pair "hello" { Elt "hello" "hi" } None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair "hello" { Elt "hello" "hi" } None) + (Pair "hello" { Elt "hello" "hi" } None) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair "hello" { Elt "hello" "hi" } None) ] + - location: 14 (just consumed gas: 0) + [ (Pair "hello" { Elt "hello" "hi" } None) ] + - location: 17 (just consumed gas: 0.010) + [ (Pair { Elt "hello" "hi" } None) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } + { Elt "hello" "hi" } ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + { Elt "hello" "hi" } + { Elt "hello" "hi" } ] + - location: 20 (just consumed gas: 0.756) + [ (Some "hi") + { Elt "hello" "hi" } ] + - location: 21 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } + (Some "hi") ] + - location: 22 (just consumed gas: 0.010) + [ (Pair { Elt "hello" "hi" } (Some "hi")) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Pair { Elt "hello" "hi" } (Some "hi")) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} { Elt "hello" "hi" } (Some "hi")) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_big_map_value.tz on storage '(Pair { Elt "hello" "hi" } None)' and input '""' --trace-stack +storage + (Pair 4 None) +emitted operations + +big_map diff + New map(4) of type (big_map string string) + Set map(4)["hello"] to "hi" +trace + - location: 12 (just consumed gas: 12.564) + [ (Pair "" { Elt "hello" "hi" } None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair "" { Elt "hello" "hi" } None) + (Pair "" { Elt "hello" "hi" } None) ] + - location: 13 (just consumed gas: 0.010) + [ "" + (Pair "" { Elt "hello" "hi" } None) ] + - location: 14 (just consumed gas: 0) + [ (Pair "" { Elt "hello" "hi" } None) ] + - location: 17 (just consumed gas: 0.010) + [ (Pair { Elt "hello" "hi" } None) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } + { Elt "hello" "hi" } ] + - location: 14 (just consumed gas: 0.025) + [ "" + { Elt "hello" "hi" } + { Elt "hello" "hi" } ] + - location: 20 (just consumed gas: 0.700) + [ None + { Elt "hello" "hi" } ] + - location: 21 (just consumed gas: 0.010) + [ { Elt "hello" "hi" } + None ] + - location: 22 (just consumed gas: 0.010) + [ (Pair { Elt "hello" "hi" } None) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Pair { Elt "hello" "hi" } None) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} { Elt "hello" "hi" } None) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_big_map_value.tz on storage '(Pair { Elt "1" "one" ; Elt "2" "two" } None)' and input '"1"' --trace-stack +storage + (Pair 4 (Some "one")) +emitted operations + +big_map diff + New map(4) of type (big_map string string) + Set map(4)["2"] to "two" + Set map(4)["1"] to "one" +trace + - location: 12 (just consumed gas: 13.526) + [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) + (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] + - location: 13 (just consumed gas: 0.010) + [ "1" + (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] + - location: 14 (just consumed gas: 0) + [ (Pair "1" { Elt "1" "one" ; Elt "2" "two" } None) ] + - location: 17 (just consumed gas: 0.010) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } None) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } ] + - location: 19 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } + { Elt "1" "one" ; Elt "2" "two" } ] + - location: 14 (just consumed gas: 0.025) + [ "1" + { Elt "1" "one" ; Elt "2" "two" } + { Elt "1" "one" ; Elt "2" "two" } ] + - location: 20 (just consumed gas: 0.712) + [ (Some "one") + { Elt "1" "one" ; Elt "2" "two" } ] + - location: 21 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } + (Some "one") ] + - location: 22 (just consumed gas: 0.010) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] + - location: 23 (just consumed gas: 0.010) + [ {} + (Pair { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] + - location: 25 (just consumed gas: 0.010) + [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } (Some "one")) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/update_big_map.tz on storage '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)' and input '{}' --trace-stack +storage + (Pair 4 Unit) +emitted operations + +big_map diff + New map(4) of type (big_map string string) + Set map(4)["2"] to "two" + Set map(4)["1"] to "one" +trace + - location: 15 (just consumed gas: 12.065) + [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 15 (just consumed gas: 0.010) + [ {} + (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 16 (just consumed gas: 0) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 16 (just consumed gas: 0.025) + [ {} + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 19 (just consumed gas: 0) + [ { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 23 (just consumed gas: 0.010) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 24 (just consumed gas: 0.010) + [ {} + (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/update_big_map.tz on storage '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)' and input '{ Elt "1" (Some "two") }' --trace-stack +storage + (Pair 4 Unit) +emitted operations + +big_map diff + New map(4) of type (big_map string string) + Set map(4)["2"] to "two" + Set map(4)["1"] to "two" +trace + - location: 15 (just consumed gas: 12.515) + [ (Pair { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "1" (Some "two") } + (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 16 (just consumed gas: 0) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 16 (just consumed gas: 0.025) + [ { Elt "1" (Some "two") } + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 19 (just consumed gas: 0) + [ (Pair "1" (Some "two")) + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 21 (just consumed gas: 0.010) + [ "1" + (Some "two") + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 22 (just consumed gas: 0.727) + [ { Elt "1" "two" ; Elt "2" "two" } + Unit ] + - location: 19 (just consumed gas: 0.015) + [ { Elt "1" "two" ; Elt "2" "two" } + Unit ] + - location: 23 (just consumed gas: 0.010) + [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] + - location: 24 (just consumed gas: 0.010) + [ {} + (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/update_big_map.tz on storage '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)' and input '{ Elt "3" (Some "three") }' --trace-stack +storage + (Pair 4 Unit) +emitted operations + +big_map diff + New map(4) of type (big_map string string) + Set map(4)["2"] to "two" + Set map(4)["3"] to "three" + Set map(4)["1"] to "one" +trace + - location: 15 (just consumed gas: 12.535) + [ (Pair { Elt "3" (Some "three") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "3" (Some "three") } + (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 16 (just consumed gas: 0) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 16 (just consumed gas: 0.025) + [ { Elt "3" (Some "three") } + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 19 (just consumed gas: 0) + [ (Pair "3" (Some "three")) + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 21 (just consumed gas: 0.010) + [ "3" + (Some "three") + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 22 (just consumed gas: 0.727) + [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } + Unit ] + - location: 19 (just consumed gas: 0.015) + [ { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } + Unit ] + - location: 23 (just consumed gas: 0.010) + [ (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] + - location: 24 (just consumed gas: 0.010) + [ {} + (Pair { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} { Elt "1" "one" ; Elt "2" "two" ; Elt "3" "three" } Unit) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/update_big_map.tz on storage '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)' and input '{ Elt "3" None }' --trace-stack +storage + (Pair 4 Unit) +emitted operations + +big_map diff + New map(4) of type (big_map string string) + Set map(4)["2"] to "two" + Unset map(4)["3"] + Set map(4)["1"] to "one" +trace + - location: 15 (just consumed gas: 12.371) + [ (Pair { Elt "3" None } { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "3" None } + (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 16 (just consumed gas: 0) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 16 (just consumed gas: 0.025) + [ { Elt "3" None } + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 19 (just consumed gas: 0) + [ (Pair "3" None) + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 21 (just consumed gas: 0.010) + [ "3" + None + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 22 (just consumed gas: 0.727) + [ { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 19 (just consumed gas: 0.015) + [ { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 23 (just consumed gas: 0.010) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 24 (just consumed gas: 0.010) + [ {} + (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} { Elt "1" "one" ; Elt "2" "two" } Unit) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/update_big_map.tz on storage '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)' and input '{ Elt "2" None }' --trace-stack +storage + (Pair 4 Unit) +emitted operations + +big_map diff + New map(4) of type (big_map string string) + Unset map(4)["2"] + Set map(4)["1"] to "one" +trace + - location: 15 (just consumed gas: 12.371) + [ (Pair { Elt "2" None } { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "2" None } + (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 16 (just consumed gas: 0) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 16 (just consumed gas: 0.025) + [ { Elt "2" None } + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 19 (just consumed gas: 0) + [ (Pair "2" None) + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 21 (just consumed gas: 0.010) + [ "2" + None + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 22 (just consumed gas: 0.727) + [ { Elt "1" "one" } + Unit ] + - location: 19 (just consumed gas: 0.015) + [ { Elt "1" "one" } + Unit ] + - location: 23 (just consumed gas: 0.010) + [ (Pair { Elt "1" "one" } Unit) ] + - location: 24 (just consumed gas: 0.010) + [ {} + (Pair { Elt "1" "one" } Unit) ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} { Elt "1" "one" } Unit) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/update_big_map.tz on storage '(Pair { Elt "1" "one" ; Elt "2" "two" } Unit)' and input '{ Elt "1" (Some "two") }' --trace-stack +storage + (Pair 4 Unit) +emitted operations + +big_map diff + New map(4) of type (big_map string string) + Set map(4)["2"] to "two" + Set map(4)["1"] to "two" +trace + - location: 15 (just consumed gas: 12.515) + [ (Pair { Elt "1" (Some "two") } { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 15 (just consumed gas: 0.010) + [ { Elt "1" (Some "two") } + (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 16 (just consumed gas: 0) + [ (Pair { Elt "1" "one" ; Elt "2" "two" } Unit) ] + - location: 18 (just consumed gas: 0.010) + [ { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 16 (just consumed gas: 0.025) + [ { Elt "1" (Some "two") } + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 19 (just consumed gas: 0) + [ (Pair "1" (Some "two")) + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 21 (just consumed gas: 0.010) + [ "1" + (Some "two") + { Elt "1" "one" ; Elt "2" "two" } + Unit ] + - location: 22 (just consumed gas: 0.727) + [ { Elt "1" "two" ; Elt "2" "two" } + Unit ] + - location: 19 (just consumed gas: 0.015) + [ { Elt "1" "two" ; Elt "2" "two" } + Unit ] + - location: 23 (just consumed gas: 0.010) + [ (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] + - location: 24 (just consumed gas: 0.010) + [ {} + (Pair { Elt "1" "two" ; Elt "2" "two" } Unit) ] + - location: 26 (just consumed gas: 0.010) + [ (Pair {} { Elt "1" "two" ; Elt "2" "two" } Unit) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_and_update_big_map.tz on storage '(Pair None {})' and input '"hello"' --trace-stack +storage + (Pair None 4) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Unset map(4)["hello"] +trace + - location: 13 (just consumed gas: 8.479) + [ (Pair "hello" None {}) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair None {}) ] + - location: 14 (just consumed gas: 0) + [ (Pair None {}) ] + - location: 16 (just consumed gas: 0.010) + [ None + {} ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + None + {} ] + - location: 17 (just consumed gas: 0.787) + [ None + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Pair None {}) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair None {}) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} None {}) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_and_update_big_map.tz on storage '(Pair (Some 4) {})' and input '"hello"' --trace-stack +storage + (Pair None 4) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["hello"] to 4 +trace + - location: 13 (just consumed gas: 8.579) + [ (Pair "hello" (Some 4) {}) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair (Some 4) {}) ] + - location: 14 (just consumed gas: 0) + [ (Pair (Some 4) {}) ] + - location: 16 (just consumed gas: 0.010) + [ (Some 4) + {} ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + (Some 4) + {} ] + - location: 17 (just consumed gas: 0.787) + [ None + { Elt "hello" 4 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair None { Elt "hello" 4 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair None { Elt "hello" 4 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} None { Elt "hello" 4 }) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_and_update_big_map.tz on storage '(Pair None { Elt "hello" 4 })' and input '"hello"' --trace-stack +storage + (Pair (Some 4) 4) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Unset map(4)["hello"] +trace + - location: 13 (just consumed gas: 9.509) + [ (Pair "hello" None { Elt "hello" 4 }) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair None { Elt "hello" 4 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair None { Elt "hello" 4 }) ] + - location: 16 (just consumed gas: 0.010) + [ None + { Elt "hello" 4 } ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + None + { Elt "hello" 4 } ] + - location: 17 (just consumed gas: 0.792) + [ (Some 4) + {} ] + - location: 18 (just consumed gas: 0.010) + [ (Pair (Some 4) {}) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair (Some 4) {}) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some 4) {}) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_and_update_big_map.tz on storage '(Pair (Some 5) { Elt "hello" 4 })' and input '"hello"' --trace-stack +storage + (Pair (Some 4) 4) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["hello"] to 5 +trace + - location: 13 (just consumed gas: 9.609) + [ (Pair "hello" (Some 5) { Elt "hello" 4 }) ] + - location: 13 (just consumed gas: 0.010) + [ "hello" + (Pair (Some 5) { Elt "hello" 4 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair (Some 5) { Elt "hello" 4 }) ] + - location: 16 (just consumed gas: 0.010) + [ (Some 5) + { Elt "hello" 4 } ] + - location: 14 (just consumed gas: 0.025) + [ "hello" + (Some 5) + { Elt "hello" 4 } ] + - location: 17 (just consumed gas: 0.792) + [ (Some 4) + { Elt "hello" 5 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair (Some 4) { Elt "hello" 5 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair (Some 4) { Elt "hello" 5 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some 4) { Elt "hello" 5 }) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_and_update_big_map.tz on storage '(Pair (Some 5) { Elt "hello" 4 })' and input '"hi"' --trace-stack +storage + (Pair None 4) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["hello"] to 4 + Set map(4)["hi"] to 5 +trace + - location: 13 (just consumed gas: 9.579) + [ (Pair "hi" (Some 5) { Elt "hello" 4 }) ] + - location: 13 (just consumed gas: 0.010) + [ "hi" + (Pair (Some 5) { Elt "hello" 4 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair (Some 5) { Elt "hello" 4 }) ] + - location: 16 (just consumed gas: 0.010) + [ (Some 5) + { Elt "hello" 4 } ] + - location: 14 (just consumed gas: 0.025) + [ "hi" + (Some 5) + { Elt "hello" 4 } ] + - location: 17 (just consumed gas: 0.759) + [ None + { Elt "hello" 4 ; Elt "hi" 5 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair None { Elt "hello" 4 ; Elt "hi" 5 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} None { Elt "hello" 4 ; Elt "hi" 5 }) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_and_update_big_map.tz on storage '(Pair None { Elt "1" 1 ; Elt "2" 2 })' and input '"1"' --trace-stack +storage + (Pair (Some 1) 4) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["2"] to 2 + Unset map(4)["1"] +trace + - location: 13 (just consumed gas: 10.367) + [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 13 (just consumed gas: 0.010) + [ "1" + (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 16 (just consumed gas: 0.010) + [ None + { Elt "1" 1 ; Elt "2" 2 } ] + - location: 14 (just consumed gas: 0.025) + [ "1" + None + { Elt "1" 1 ; Elt "2" 2 } ] + - location: 17 (just consumed gas: 0.751) + [ (Some 1) + { Elt "2" 2 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair (Some 1) { Elt "2" 2 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair (Some 1) { Elt "2" 2 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some 1) { Elt "2" 2 }) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/get_and_update_big_map.tz on storage '(Pair None { Elt "1" 1 ; Elt "2" 2 })' and input '"1"' --trace-stack +storage + (Pair (Some 1) 4) +emitted operations + +big_map diff + New map(4) of type (big_map string nat) + Set map(4)["2"] to 2 + Unset map(4)["1"] +trace + - location: 13 (just consumed gas: 10.367) + [ (Pair "1" None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 13 (just consumed gas: 0.010) + [ "1" + (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 14 (just consumed gas: 0) + [ (Pair None { Elt "1" 1 ; Elt "2" 2 }) ] + - location: 16 (just consumed gas: 0.010) + [ None + { Elt "1" 1 ; Elt "2" 2 } ] + - location: 14 (just consumed gas: 0.025) + [ "1" + None + { Elt "1" 1 ; Elt "2" 2 } ] + - location: 17 (just consumed gas: 0.751) + [ (Some 1) + { Elt "2" 2 } ] + - location: 18 (just consumed gas: 0.010) + [ (Pair (Some 1) { Elt "2" 2 }) ] + - location: 19 (just consumed gas: 0.010) + [ {} + (Pair (Some 1) { Elt "2" 2 }) ] + - location: 21 (just consumed gas: 0.010) + [ (Pair {} (Some 1) { Elt "2" 2 }) ] + + +./octez-client --mode mockup run script michelson_test_scripts/mini_scenarios/big_map_magic.tz on storage '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))' and input '(Left Unit)' --trace-stack +storage + (Left (Pair 4 5)) +emitted operations + +big_map diff + New map(5) of type (big_map string string) + Set map(5)["1"] to "one" + New map(4) of type (big_map string string) + Set map(4)["2"] to "two" +trace + - location: 43 (just consumed gas: 62.128) + [ (Pair (Left Unit) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] + - location: 43 (just consumed gas: 0.010) + [ (Left Unit) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 44 (just consumed gas: 0) + [ Unit + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 46 (just consumed gas: 0.010) + [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 48 (just consumed gas: 0) + [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] + - location: 48 (just consumed gas: 0.015) + [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] + - location: 54 (just consumed gas: 0.010) + [ { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 55 (just consumed gas: 0.010) + [ { Elt "2" "two" } + { Elt "1" "one" } ] + - location: 56 (just consumed gas: 0.010) + [ (Pair { Elt "2" "two" } { Elt "1" "one" }) ] + - location: 57 (just consumed gas: 0.010) + [ (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] + - location: 44 (just consumed gas: 0.015) + [ (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] + - location: 151 (just consumed gas: 0.010) + [ {} + (Left (Pair { Elt "2" "two" } { Elt "1" "one" })) ] + - location: 153 (just consumed gas: 0.010) + [ (Pair {} (Left (Pair { Elt "2" "two" } { Elt "1" "one" }))) ] + + +./octez-client --mode mockup run script michelson_test_scripts/mini_scenarios/big_map_magic.tz on storage '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))' and input '(Right (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))))' --trace-stack +storage + (Left (Pair 4 5)) +emitted operations + +big_map diff + New map(5) of type (big_map string string) + Set map(5)["4"] to "four" + New map(4) of type (big_map string string) + Set map(4)["3"] to "three" +trace + - location: 43 (just consumed gas: 65.416) + [ (Pair (Right (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" })))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] + - location: 43 (just consumed gas: 0.010) + [ (Right (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" })))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 44 (just consumed gas: 0) + [ (Left (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 60 (just consumed gas: 0) + [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 62 (just consumed gas: 0.010) + [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) + (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] + - location: 63 (just consumed gas: 0.010) + [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] + - location: 60 (just consumed gas: 0.015) + [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] + - location: 44 (just consumed gas: 0.015) + [ (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] + - location: 151 (just consumed gas: 0.010) + [ {} + (Left (Pair { Elt "3" "three" } { Elt "4" "four" })) ] + - location: 153 (just consumed gas: 0.010) + [ (Pair {} (Left (Pair { Elt "3" "three" } { Elt "4" "four" }))) ] + + +./octez-client --mode mockup run script michelson_test_scripts/mini_scenarios/big_map_magic.tz on storage '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))' and input '(Right (Left (Right Unit)))' --trace-stack +storage + (Right Unit) +emitted operations + +big_map diff + +trace + - location: 43 (just consumed gas: 62.768) + [ (Pair (Right (Left (Right Unit))) (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] + - location: 43 (just consumed gas: 0.010) + [ (Right (Left (Right Unit))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 44 (just consumed gas: 0) + [ (Left (Right Unit)) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 60 (just consumed gas: 0) + [ (Right Unit) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 62 (just consumed gas: 0.010) + [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) + (Right Unit) ] + - location: 63 (just consumed gas: 0.010) + [ (Right Unit) ] + - location: 60 (just consumed gas: 0.015) + [ (Right Unit) ] + - location: 44 (just consumed gas: 0.015) + [ (Right Unit) ] + - location: 151 (just consumed gas: 0.010) + [ {} + (Right Unit) ] + - location: 153 (just consumed gas: 0.010) + [ (Pair {} (Right Unit)) ] + + +./octez-client --mode mockup run script michelson_test_scripts/mini_scenarios/big_map_magic.tz on storage '(Right Unit)' and input '(Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) )))' --trace-stack +storage + (Left (Pair 4 5)) +emitted operations + +big_map diff + New map(5) of type (big_map string string) + Set map(5)["gaz"] to "baz" + New map(4) of type (big_map string string) + Set map(4)["foo"] to "bar" +trace + - location: 43 (just consumed gas: 60.906) + [ (Pair (Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })))) (Right Unit)) ] + - location: 43 (just consumed gas: 0.010) + [ (Right (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })))) + (Right Unit) ] + - location: 44 (just consumed gas: 0) + [ (Right (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }))) + (Right Unit) ] + - location: 60 (just consumed gas: 0) + [ (Left (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" })) + (Right Unit) ] + - location: 65 (just consumed gas: 0) + [ (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) + (Right Unit) ] + - location: 67 (just consumed gas: 0) + [ (Right Unit) ] + - location: 70 (just consumed gas: 0) + [ Unit ] + - location: 70 (just consumed gas: 0.015) + [ Unit ] + - location: 76 (just consumed gas: 0.010) + [ ] + - location: 67 (just consumed gas: 0.025) + [ (Pair { Pair "foo" "bar" } { Pair "gaz" "baz" }) ] + - location: 77 (just consumed gas: 0.010) + [ { Pair "foo" "bar" } + { Pair "gaz" "baz" } ] + - location: 78 (just consumed gas: 0) + [ { Pair "gaz" "baz" } ] + - location: 80 (just consumed gas: 0.300) + [ {} + { Pair "gaz" "baz" } ] + - location: 78 (just consumed gas: 0.025) + [ { Pair "foo" "bar" } + {} + { Pair "gaz" "baz" } ] + - location: 83 (just consumed gas: 0) + [ (Pair "foo" "bar") + {} + { Pair "gaz" "baz" } ] + - location: 85 (just consumed gas: 0.010) + [ "foo" + "bar" + {} + { Pair "gaz" "baz" } ] + - location: 86 (just consumed gas: 0) + [ "bar" + {} + { Pair "gaz" "baz" } ] + - location: 88 (just consumed gas: 0.010) + [ (Some "bar") + {} + { Pair "gaz" "baz" } ] + - location: 86 (just consumed gas: 0.025) + [ "foo" + (Some "bar") + {} + { Pair "gaz" "baz" } ] + - location: 89 (just consumed gas: 0.744) + [ { Elt "foo" "bar" } + { Pair "gaz" "baz" } ] + - location: 83 (just consumed gas: 0.015) + [ { Elt "foo" "bar" } + { Pair "gaz" "baz" } ] + - location: 90 (just consumed gas: 0.010) + [ { Pair "gaz" "baz" } + { Elt "foo" "bar" } ] + - location: 91 (just consumed gas: 0) + [ { Elt "foo" "bar" } ] + - location: 93 (just consumed gas: 0.300) + [ {} + { Elt "foo" "bar" } ] + - location: 91 (just consumed gas: 0.025) + [ { Pair "gaz" "baz" } + {} + { Elt "foo" "bar" } ] + - location: 96 (just consumed gas: 0) + [ (Pair "gaz" "baz") + {} + { Elt "foo" "bar" } ] + - location: 98 (just consumed gas: 0.010) + [ "gaz" + "baz" + {} + { Elt "foo" "bar" } ] + - location: 99 (just consumed gas: 0) + [ "baz" + {} + { Elt "foo" "bar" } ] + - location: 101 (just consumed gas: 0.010) + [ (Some "baz") + {} + { Elt "foo" "bar" } ] + - location: 99 (just consumed gas: 0.025) + [ "gaz" + (Some "baz") + {} + { Elt "foo" "bar" } ] + - location: 102 (just consumed gas: 0.744) + [ { Elt "gaz" "baz" } + { Elt "foo" "bar" } ] + - location: 96 (just consumed gas: 0.015) + [ { Elt "gaz" "baz" } + { Elt "foo" "bar" } ] + - location: 103 (just consumed gas: 0.010) + [ { Elt "foo" "bar" } + { Elt "gaz" "baz" } ] + - location: 104 (just consumed gas: 0.010) + [ (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }) ] + - location: 105 (just consumed gas: 0.010) + [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] + - location: 65 (just consumed gas: 0.015) + [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] + - location: 60 (just consumed gas: 0.015) + [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] + - location: 44 (just consumed gas: 0.015) + [ (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] + - location: 151 (just consumed gas: 0.010) + [ {} + (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" })) ] + - location: 153 (just consumed gas: 0.010) + [ (Pair {} (Left (Pair { Elt "foo" "bar" } { Elt "gaz" "baz" }))) ] + + +./octez-client --mode mockup run script michelson_test_scripts/mini_scenarios/big_map_magic.tz on storage '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }) )' and input '(Right (Right (Right (Left { Pair "3" "three" }))))' --trace-stack +storage + (Left (Pair 4 5)) +emitted operations + +big_map diff + New map(5) of type (big_map string string) + Set map(5)["2"] to "two" + New map(4) of type (big_map string string) + Set map(4)["3"] to "three" + Set map(4)["1"] to "one" +trace + - location: 43 (just consumed gas: 63.036) + [ (Pair (Right (Right (Right (Left { Pair "3" "three" })))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] + - location: 43 (just consumed gas: 0.010) + [ (Right (Right (Right (Left { Pair "3" "three" })))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 44 (just consumed gas: 0) + [ (Right (Right (Left { Pair "3" "three" }))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 60 (just consumed gas: 0) + [ (Right (Left { Pair "3" "three" })) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 65 (just consumed gas: 0) + [ (Left { Pair "3" "three" }) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 108 (just consumed gas: 0) + [ { Pair "3" "three" } + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 110 (just consumed gas: 0) + [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 113 (just consumed gas: 0) + [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] + - location: 113 (just consumed gas: 0.015) + [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] + - location: 119 (just consumed gas: 0.010) + [ { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 110 (just consumed gas: 0.025) + [ { Pair "3" "three" } + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 120 (just consumed gas: 0) + [ (Pair "3" "three") + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 122 (just consumed gas: 0.010) + [ "3" + "three" + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 123 (just consumed gas: 0) + [ "three" + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 125 (just consumed gas: 0.010) + [ (Some "three") + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 123 (just consumed gas: 0.025) + [ "3" + (Some "three") + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 126 (just consumed gas: 0.724) + [ { Elt "1" "one" ; Elt "3" "three" } + { Elt "2" "two" } ] + - location: 120 (just consumed gas: 0.015) + [ { Elt "1" "one" ; Elt "3" "three" } + { Elt "2" "two" } ] + - location: 127 (just consumed gas: 0.010) + [ (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }) ] + - location: 128 (just consumed gas: 0.010) + [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] + - location: 108 (just consumed gas: 0.015) + [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] + - location: 65 (just consumed gas: 0.015) + [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] + - location: 60 (just consumed gas: 0.015) + [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] + - location: 44 (just consumed gas: 0.015) + [ (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] + - location: 151 (just consumed gas: 0.010) + [ {} + (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" })) ] + - location: 153 (just consumed gas: 0.010) + [ (Pair {} (Left (Pair { Elt "1" "one" ; Elt "3" "three" } { Elt "2" "two" }))) ] + + +./octez-client --mode mockup run script michelson_test_scripts/mini_scenarios/big_map_magic.tz on storage '(Left (Pair { Elt "1" "one" } { Elt "2" "two" }))' and input '(Right (Right (Right (Right { "1" }))))' --trace-stack +storage + (Left (Pair 4 5)) +emitted operations + +big_map diff + New map(5) of type (big_map string string) + Set map(5)["2"] to "two" + New map(4) of type (big_map string string) + Unset map(4)["1"] +trace + - location: 43 (just consumed gas: 62.772) + [ (Pair (Right (Right (Right (Right { "1" })))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" }))) ] + - location: 43 (just consumed gas: 0.010) + [ (Right (Right (Right (Right { "1" })))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 44 (just consumed gas: 0) + [ (Right (Right (Right { "1" }))) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 60 (just consumed gas: 0) + [ (Right (Right { "1" })) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 65 (just consumed gas: 0) + [ (Right { "1" }) + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 108 (just consumed gas: 0) + [ { "1" } + (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 131 (just consumed gas: 0) + [ (Left (Pair { Elt "1" "one" } { Elt "2" "two" })) ] + - location: 134 (just consumed gas: 0) + [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] + - location: 134 (just consumed gas: 0.015) + [ (Pair { Elt "1" "one" } { Elt "2" "two" }) ] + - location: 140 (just consumed gas: 0.010) + [ { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 131 (just consumed gas: 0.025) + [ { "1" } + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 141 (just consumed gas: 0) + [ "1" + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 143 (just consumed gas: 0) + [ { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 145 (just consumed gas: 0.010) + [ None + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 143 (just consumed gas: 0.025) + [ "1" + None + { Elt "1" "one" } + { Elt "2" "two" } ] + - location: 147 (just consumed gas: 0.724) + [ {} + { Elt "2" "two" } ] + - location: 141 (just consumed gas: 0.015) + [ {} + { Elt "2" "two" } ] + - location: 148 (just consumed gas: 0.010) + [ (Pair {} { Elt "2" "two" }) ] + - location: 149 (just consumed gas: 0.010) + [ (Left (Pair {} { Elt "2" "two" })) ] + - location: 108 (just consumed gas: 0.015) + [ (Left (Pair {} { Elt "2" "two" })) ] + - location: 65 (just consumed gas: 0.015) + [ (Left (Pair {} { Elt "2" "two" })) ] + - location: 60 (just consumed gas: 0.015) + [ (Left (Pair {} { Elt "2" "two" })) ] + - location: 44 (just consumed gas: 0.015) + [ (Left (Pair {} { Elt "2" "two" })) ] + - location: 151 (just consumed gas: 0.010) + [ {} + (Left (Pair {} { Elt "2" "two" })) ] + - location: 153 (just consumed gas: 0.010) + [ (Pair {} (Left (Pair {} { Elt "2" "two" }))) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- check_signature.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- check_signature.out new file mode 100644 index 000000000000..0102e4185557 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- check_signature.out @@ -0,0 +1,243 @@ + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/check_signature.tz on storage '(Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "hello")' and input '"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav"' --trace-stack +storage + (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") +emitted operations + +big_map diff + +trace + - location: 9 (just consumed gas: 346.280) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 11 (just consumed gas: 0) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 13 (just consumed gas: 0.010) + [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 14 (just consumed gas: 0.010) + [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 15 (just consumed gas: 0.010) + [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 16 (just consumed gas: 0) + [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 18 (just consumed gas: 0.010) + [ "hello" + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 19 (just consumed gas: 0.266) + [ 0x05010000000568656c6c6f + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 16 (just consumed gas: 0.025) + [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + 0x05010000000568656c6c6f + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 11 (just consumed gas: 0.025) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + 0x05010000000568656c6c6f + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 20 (just consumed gas: 0.010) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + 0x05010000000568656c6c6f + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 21 (just consumed gas: 65.812) + [ True + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 22 (just consumed gas: 0) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 22 (just consumed gas: 0.015) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 28 (just consumed gas: 0.010) + [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 29 (just consumed gas: 0.010) + [ {} + (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + - location: 31 (just consumed gas: 0.010) + [ (Pair {} + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "hello") ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/check_signature.tz on storage '(Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" "abcd")' and input '"edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav"' --trace-stack +Runtime error in contract KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi: + 01: parameter key; + 02: storage (pair signature string); + 03: code { + 04: DUP; DUP; + 05: DIP{ CDR; DUP; CAR; + 06: DIP{CDR; PACK}}; + 07: CAR; CHECK_SIGNATURE; + 08: IF {} {FAIL} ; + 09: CDR; NIL operation ; PAIR}; + 10: + 11: +At line 8 characters 14 to 18, +script reached FAILWITH instruction +with Unit +trace + - location: 9 (just consumed gas: 346.270) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 9 (just consumed gas: 0.010) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 10 (just consumed gas: 0.010) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 11 (just consumed gas: 0) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 13 (just consumed gas: 0.010) + [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 14 (just consumed gas: 0.010) + [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 15 (just consumed gas: 0.010) + [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 16 (just consumed gas: 0) + [ (Pair "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 18 (just consumed gas: 0.010) + [ "abcd" + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 19 (just consumed gas: 0.256) + [ 0x05010000000461626364 + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 16 (just consumed gas: 0.025) + [ "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + 0x05010000000461626364 + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 11 (just consumed gas: 0.025) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + 0x05010000000461626364 + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 20 (just consumed gas: 0.010) + [ "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + 0x05010000000461626364 + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 21 (just consumed gas: 65.811) + [ False + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 22 (just consumed gas: 0) + [ (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] + - location: 26 (just consumed gas: 0.010) + [ Unit + (Pair "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + "edsigu3QszDjUpeqYqbvhyRxMpVFamEnvm9FYnt7YiiNt9nmjYfh8ZTbsybZ5WnBkhA7zfHsRVyuTnRsGLR6fNHt1Up1FxgyRtF" + "abcd") ] +Fatal error: + error running script diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- hash_consistency.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- hash_consistency.out new file mode 100644 index 000000000000..cb6d2f8c48b5 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- hash_consistency.out @@ -0,0 +1,32 @@ + +./octez-client --mode mockup hash data '(Pair 22220000000 (Pair "2017-12-13T04:49:00Z" 034))' of type '(pair mutez (pair timestamp int))' +Raw packed data: 0x0507070080acd2c6a501070700bcc485a30b0022 +Script-expression-ID-Hash: expruenXhGp5JQoHJTGv4DzBR8Zm3HGvea8Q8BaMPywsY2bxrHAEgC +Raw Script-expression-ID-Hash: 0x95a69fcbbf773989333dc9b31e246575812dbea19d25089f83a2aeeea16ab4bc +Ledger Blake2b hash: B5B7PuGGVUrdHUW9Df8wPNJQRuUmx56aH1XVpvbUZvW7 +Raw Sha256 hash: 0x538634a0f81b55f1c946c1207a25c262479566d20bd3d5cd2cdbb2940fc45774 +Raw Sha512 hash: 0x49d5c19c2da4ee74f85225c95625a4b77b94724f4285b436b9d4be27d40491354bdc8e9d8a3d9b2857e5fb59b172605edd02fc4b61ce3cd3f84aa11ed1731ff6 +Gas remaining: 1039997.762 units remaining + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/hash_consistency_checker.tz on storage 0x00 and input '(Pair 22220000000 (Pair "2017-12-13T04:49:00Z" 034))' --trace-stack +storage + 0x95a69fcbbf773989333dc9b31e246575812dbea19d25089f83a2aeeea16ab4bc +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 6.144) + [ (Pair (Pair 22220000000 "2017-12-13T04:49:00Z" 34) 0x00) ] + - location: 11 (just consumed gas: 0.010) + [ (Pair 22220000000 "2017-12-13T04:49:00Z" 34) ] + - location: 12 (just consumed gas: 1.330) + [ 0x0507070080acd2c6a501070700bcc485a30b0022 ] + - location: 13 (just consumed gas: 0.452) + [ 0x95a69fcbbf773989333dc9b31e246575812dbea19d25089f83a2aeeea16ab4bc ] + - location: 14 (just consumed gas: 0.010) + [ {} + 0x95a69fcbbf773989333dc9b31e246575812dbea19d25089f83a2aeeea16ab4bc ] + - location: 16 (just consumed gas: 0.010) + [ (Pair {} 0x95a69fcbbf773989333dc9b31e246575812dbea19d25089f83a2aeeea16ab4bc) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- map_map_side_effect.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- map_map_side_effect.out new file mode 100644 index 000000000000..53c1daf1c5fe --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- map_map_side_effect.out @@ -0,0 +1,315 @@ + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/map_map_sideeffect.tz on storage '(Pair {} 0)' and input 10 --trace-stack +storage + (Pair {} 0) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 16.571) + [ (Pair 10 {} 0) ] + - location: 11 (just consumed gas: 0.010) + [ 10 + (Pair {} 0) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair {} 0) + 10 ] + - location: 13 (just consumed gas: 0.010) + [ {} + 10 ] + - location: 14 (just consumed gas: 0) + [ ] + - location: 17 (just consumed gas: 0.010) + [ 0 ] + - location: 14 (just consumed gas: 0.025) + [ 10 + 0 ] + - location: 14 (just consumed gas: 0.010) + [ {} + 10 + 0 ] + - location: 14 (just consumed gas: 0) + [ {} + 10 + 0 ] + - location: 20 (just consumed gas: 0) + [ {} + 10 + 0 ] + - location: 34 (just consumed gas: 0) + [ 10 + 0 ] + - location: 36 (just consumed gas: 0.010) + [ 0 ] + - location: 34 (just consumed gas: 0.025) + [ {} + 0 ] + - location: 37 (just consumed gas: 0.010) + [ (Pair {} 0) ] + - location: 38 (just consumed gas: 0.010) + [ {} + (Pair {} 0) ] + - location: 40 (just consumed gas: 0.010) + [ (Pair {} {} 0) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/map_map_sideeffect.tz on storage '(Pair { Elt "foo" 1 } 1)' and input 10 --trace-stack +storage + (Pair { Elt "foo" 11 } 11) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 16.901) + [ (Pair 10 { Elt "foo" 1 } 1) ] + - location: 11 (just consumed gas: 0.010) + [ 10 + (Pair { Elt "foo" 1 } 1) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair { Elt "foo" 1 } 1) + 10 ] + - location: 13 (just consumed gas: 0.010) + [ { Elt "foo" 1 } + 10 ] + - location: 14 (just consumed gas: 0) + [ ] + - location: 17 (just consumed gas: 0.010) + [ 0 ] + - location: 14 (just consumed gas: 0.025) + [ 10 + 0 ] + - location: 14 (just consumed gas: 0.010) + [ { Elt "foo" 1 } + 10 + 0 ] + - location: 14 (just consumed gas: 0) + [ { Elt "foo" 1 } + 10 + 0 ] + - location: 20 (just consumed gas: 0) + [ (Pair "foo" 1) + 10 + 0 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 10 + 0 ] + - location: 23 (just consumed gas: 0) + [ 10 + 0 ] + - location: 25 (just consumed gas: 0.010) + [ 10 + 10 + 0 ] + - location: 23 (just consumed gas: 0.025) + [ 1 + 10 + 10 + 0 ] + - location: 26 (just consumed gas: 0.035) + [ 11 + 10 + 0 ] + - location: 27 (just consumed gas: 0.010) + [ 11 + 11 + 10 + 0 ] + - location: 28 (just consumed gas: 0.048) + [ 11 + 10 + 11 + 0 ] + - location: 30 (just consumed gas: 0) + [ 11 + 0 ] + - location: 33 (just consumed gas: 0.035) + [ 11 ] + - location: 30 (just consumed gas: 0.025) + [ 10 + 11 ] + - location: 30 (just consumed gas: 0.010) + [ 11 + 10 + 11 ] + - location: 30 (just consumed gas: 0) + [ 11 + 10 + 11 ] + - location: 20 (just consumed gas: 0.015) + [ { Elt "foo" 11 } + 10 + 11 ] + - location: 34 (just consumed gas: 0) + [ 10 + 11 ] + - location: 36 (just consumed gas: 0.010) + [ 11 ] + - location: 34 (just consumed gas: 0.025) + [ { Elt "foo" 11 } + 11 ] + - location: 37 (just consumed gas: 0.010) + [ (Pair { Elt "foo" 11 } 11) ] + - location: 38 (just consumed gas: 0.010) + [ {} + (Pair { Elt "foo" 11 } 11) ] + - location: 40 (just consumed gas: 0.010) + [ (Pair {} { Elt "foo" 11 } 11) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/map_map_sideeffect.tz on storage '(Pair { Elt "bar" 5 ; Elt "foo" 1 } 6)' and input 15 --trace-stack +storage + (Pair { Elt "bar" 20 ; Elt "foo" 16 } 36) +emitted operations + +big_map diff + +trace + - location: 11 (just consumed gas: 17.272) + [ (Pair 15 { Elt "bar" 5 ; Elt "foo" 1 } 6) ] + - location: 11 (just consumed gas: 0.010) + [ 15 + (Pair { Elt "bar" 5 ; Elt "foo" 1 } 6) ] + - location: 12 (just consumed gas: 0.010) + [ (Pair { Elt "bar" 5 ; Elt "foo" 1 } 6) + 15 ] + - location: 13 (just consumed gas: 0.010) + [ { Elt "bar" 5 ; Elt "foo" 1 } + 15 ] + - location: 14 (just consumed gas: 0) + [ ] + - location: 17 (just consumed gas: 0.010) + [ 0 ] + - location: 14 (just consumed gas: 0.025) + [ 15 + 0 ] + - location: 14 (just consumed gas: 0.010) + [ { Elt "bar" 5 ; Elt "foo" 1 } + 15 + 0 ] + - location: 14 (just consumed gas: 0) + [ { Elt "bar" 5 ; Elt "foo" 1 } + 15 + 0 ] + - location: 20 (just consumed gas: 0) + [ (Pair "bar" 5) + 15 + 0 ] + - location: 22 (just consumed gas: 0.010) + [ 5 + 15 + 0 ] + - location: 23 (just consumed gas: 0) + [ 15 + 0 ] + - location: 25 (just consumed gas: 0.010) + [ 15 + 15 + 0 ] + - location: 23 (just consumed gas: 0.025) + [ 5 + 15 + 15 + 0 ] + - location: 26 (just consumed gas: 0.035) + [ 20 + 15 + 0 ] + - location: 27 (just consumed gas: 0.010) + [ 20 + 20 + 15 + 0 ] + - location: 28 (just consumed gas: 0.048) + [ 20 + 15 + 20 + 0 ] + - location: 30 (just consumed gas: 0) + [ 20 + 0 ] + - location: 33 (just consumed gas: 0.035) + [ 20 ] + - location: 30 (just consumed gas: 0.025) + [ 15 + 20 ] + - location: 30 (just consumed gas: 0.010) + [ 20 + 15 + 20 ] + - location: 30 (just consumed gas: 0) + [ 20 + 15 + 20 ] + - location: 20 (just consumed gas: 0.015) + [ (Pair "foo" 1) + 15 + 20 ] + - location: 22 (just consumed gas: 0.010) + [ 1 + 15 + 20 ] + - location: 23 (just consumed gas: 0) + [ 15 + 20 ] + - location: 25 (just consumed gas: 0.010) + [ 15 + 15 + 20 ] + - location: 23 (just consumed gas: 0.025) + [ 1 + 15 + 15 + 20 ] + - location: 26 (just consumed gas: 0.035) + [ 16 + 15 + 20 ] + - location: 27 (just consumed gas: 0.010) + [ 16 + 16 + 15 + 20 ] + - location: 28 (just consumed gas: 0.048) + [ 16 + 15 + 16 + 20 ] + - location: 30 (just consumed gas: 0) + [ 16 + 20 ] + - location: 33 (just consumed gas: 0.035) + [ 36 ] + - location: 30 (just consumed gas: 0.025) + [ 15 + 36 ] + - location: 30 (just consumed gas: 0.010) + [ 16 + 15 + 36 ] + - location: 30 (just consumed gas: 0) + [ 16 + 15 + 36 ] + - location: 20 (just consumed gas: 0.015) + [ { Elt "bar" 20 ; Elt "foo" 16 } + 15 + 36 ] + - location: 34 (just consumed gas: 0) + [ 15 + 36 ] + - location: 36 (just consumed gas: 0.010) + [ 36 ] + - location: 34 (just consumed gas: 0.025) + [ { Elt "bar" 20 ; Elt "foo" 16 } + 36 ] + - location: 37 (just consumed gas: 0.010) + [ (Pair { Elt "bar" 20 ; Elt "foo" 16 } 36) ] + - location: 38 (just consumed gas: 0.010) + [ {} + (Pair { Elt "bar" 20 ; Elt "foo" 16 } 36) ] + - location: 40 (just consumed gas: 0.010) + [ (Pair {} { Elt "bar" 20 ; Elt "foo" 16 } 36) ] + diff --git a/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- pack_unpack.out b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- pack_unpack.out new file mode 100644 index 000000000000..e30afebf1042 --- /dev/null +++ b/tezt/tests/expected/contract_opcodes.ml/Nairobi- test Michelson opcodes- pack_unpack.out @@ -0,0 +1,108 @@ + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/packunpack.tz on storage Unit and input '(Pair (Pair (Pair "toto" {3;7;9;1}) {1;2;3}) 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003)' --trace-stack +storage + Unit +emitted operations + +big_map diff + +trace + - location: 15 (just consumed gas: 19.769) + [ (Pair (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003) + Unit) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 17 (just consumed gas: 0) + [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 19 (just consumed gas: 0.010) + [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 17 (just consumed gas: 0.025) + [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 20 (just consumed gas: 2.807) + [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 23 (just consumed gas: 0.035) + [ 0 + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 24 (just consumed gas: 0.010) + [ True + 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 25 (just consumed gas: 0) + [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 25 (just consumed gas: 0.015) + [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 ] + - location: 31 (just consumed gas: 2.753) + [ (Some (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 })) ] + - location: 40 (just consumed gas: 0) + [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) ] + - location: 40 (just consumed gas: 0.015) + [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) ] + - location: 46 (just consumed gas: 0.010) + [ ] + - location: 47 (just consumed gas: 0.010) + [ Unit ] + - location: 48 (just consumed gas: 0.010) + [ {} + Unit ] + - location: 50 (just consumed gas: 0.010) + [ (Pair {} Unit) ] + + +./octez-client --mode mockup run script michelson_test_scripts/opcodes/packunpack.tz on storage Unit and input '(Pair (Pair (Pair "toto" {3;7;9;1}) {1;2;3}) 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004)' --trace-stack +Runtime error in contract KT1BEqzn5Wx8uJrZNvuS9DVHmLvG9td3fDLi: + 1: parameter (pair (pair (pair string (list int)) (set nat)) bytes) ; + 2: storage unit ; + 3: code { CAR ; UNPAIR ; DIP { DUP } ; + 4: PACK ; ASSERT_CMPEQ ; + 5: UNPACK (pair (pair string (list int)) (set nat)) ; ASSERT_SOME ; DROP ; + 6: UNIT ; NIL operation ; PAIR } + 7: +At line 4 characters 14 to 26, +script reached FAILWITH instruction +with Unit +trace + - location: 15 (just consumed gas: 19.769) + [ (Pair (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004) + Unit) ] + - location: 15 (just consumed gas: 0.010) + [ (Pair (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004) ] + - location: 16 (just consumed gas: 0.010) + [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 17 (just consumed gas: 0) + [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 19 (just consumed gas: 0.010) + [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 17 (just consumed gas: 0.025) + [ (Pair (Pair "toto" { 3 ; 7 ; 9 ; 1 }) { 1 ; 2 ; 3 }) + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 20 (just consumed gas: 2.807) + [ 0x05070707070100000004746f746f020000000800030007000900010200000006000100020003 + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 23 (just consumed gas: 0.035) + [ -1 + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 24 (just consumed gas: 0.010) + [ False + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 25 (just consumed gas: 0) + [ 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] + - location: 29 (just consumed gas: 0.010) + [ Unit + 0x05070707070100000004746f746f0200000008000300070009000102000000060001000200030004 ] +Fatal error: + error running script diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-accounts.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-accounts.out new file mode 100644 index 000000000000..97a47093088d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-accounts.out @@ -0,0 +1,215 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/accounts.tz --details +Well typed +Gas remaining: 1039932.585 units remaining +{ parameter + (or (key_hash %Initialize) + (pair %Withdraw (key %from) (pair (mutez %withdraw_amount) (signature %sig)))) ; + storage (map :stored_balance key_hash mutez) ; + code { DUP + /* [ pair (or key_hash (pair key mutez signature)) (map key_hash mutez) + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + CAR + /* [ or key_hash (pair key mutez signature) + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + IF_LEFT + { DUP + /* [ key_hash : key_hash + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + DIIP { CDR %stored_balance + /* [ map key_hash mutez ] */ ; + DUP + /* [ map key_hash mutez : map key_hash mutez ] */ } + /* [ key_hash : key_hash : map key_hash mutez : map key_hash mutez ] */ ; + DIP { SWAP /* [ map key_hash mutez : key_hash : map key_hash mutez ] */ } + /* [ key_hash : map key_hash mutez : key_hash : map key_hash mutez ] */ ; + GET @opt_prev_balance + /* [ option mutez : key_hash : map key_hash mutez ] */ ; + IF_SOME + { RENAME @previous_balance + /* [ mutez : key_hash : map key_hash mutez ] */ ; + AMOUNT + /* [ mutez : mutez : key_hash : map key_hash mutez ] */ ; + ADD + /* [ mutez : key_hash : map key_hash mutez ] */ ; + SOME + /* [ option mutez : key_hash : map key_hash mutez ] */ ; + SWAP + /* [ key_hash : option mutez : map key_hash mutez ] */ ; + UPDATE + /* [ map key_hash mutez ] */ ; + NIL operation + /* [ list operation : map key_hash mutez ] */ ; + PAIR + /* [ pair (list operation) (map key_hash mutez) ] */ } + { DIP { AMOUNT + /* [ mutez : map key_hash mutez ] */ ; + SOME + /* [ option mutez : map key_hash mutez ] */ } + /* [ key_hash : option mutez : map key_hash mutez ] */ ; + UPDATE + /* [ map key_hash mutez ] */ ; + NIL operation + /* [ list operation : map key_hash mutez ] */ ; + PAIR + /* [ pair (list operation) (map key_hash mutez) ] */ } } + { DUP + /* [ pair key mutez signature : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + DUP + /* [ pair key mutez signature : pair key mutez signature + : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + DUP + /* [ pair key mutez signature : pair key mutez signature + : pair key mutez signature : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + DUP + /* [ pair key mutez signature : pair key mutez signature + : pair key mutez signature : pair key mutez signature + : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + CAR %from + /* [ key : pair key mutez signature : pair key mutez signature + : pair key mutez signature : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + DIIP { CDAR %withdraw_amount ; + PACK + /* [ bytes : pair key mutez signature : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + BLAKE2B @signed_amount + /* [ bytes : pair key mutez signature : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ } + /* [ key : pair key mutez signature : bytes : pair key mutez signature + : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + DIP { CDDR %sig } + /* [ key : signature : bytes : pair key mutez signature + : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + CHECK_SIGNATURE + /* [ bool : pair key mutez signature : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + IF { /* [ pair key mutez signature : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ } + { PUSH string + "Bad signature" + /* [ string : pair key mutez signature : pair key mutez signature + : pair (or key_hash (pair key mutez signature)) (map key_hash mutez) ] */ ; + FAILWITH + /* [] */ } ; + DIIP { CDR %stored_balance + /* [ map key_hash mutez ] */ ; + DUP + /* [ map key_hash mutez : map key_hash mutez ] */ } + /* [ pair key mutez signature : pair key mutez signature : map key_hash mutez + : map key_hash mutez ] */ ; + CAR %from + /* [ key : pair key mutez signature : map key_hash mutez : map key_hash mutez ] */ ; + HASH_KEY @from_hash + /* [ key_hash : pair key mutez signature : map key_hash mutez + : map key_hash mutez ] */ ; + DUP + /* [ key_hash : key_hash : pair key mutez signature : map key_hash mutez + : map key_hash mutez ] */ ; + DIP { DIP { SWAP + /* [ map key_hash mutez : pair key mutez signature : map key_hash mutez ] */ } + /* [ key_hash : map key_hash mutez : pair key mutez signature + : map key_hash mutez ] */ ; + SWAP + /* [ map key_hash mutez : key_hash : pair key mutez signature + : map key_hash mutez ] */ } + /* [ key_hash : map key_hash mutez : key_hash : pair key mutez signature + : map key_hash mutez ] */ ; + GET + /* [ option mutez : key_hash : pair key mutez signature : map key_hash mutez ] */ ; + IF_NONE + { PUSH string + "Account does not exist" + /* [ string : key_hash : pair key mutez signature : map key_hash mutez ] */ ; + PAIR + /* [ pair string key_hash : pair key mutez signature : map key_hash mutez ] */ ; + FAILWITH + /* [] */ } + { RENAME @previous_balance + /* [ mutez : key_hash : pair key mutez signature : map key_hash mutez ] */ ; + DIP { DROP /* [ pair key mutez signature : map key_hash mutez ] */ } + /* [ mutez : pair key mutez signature : map key_hash mutez ] */ ; + DUP + /* [ mutez : mutez : pair key mutez signature : map key_hash mutez ] */ ; + DIIP { DUP + /* [ pair key mutez signature : pair key mutez signature : map key_hash mutez ] */ ; + CDAR %withdraw_amount ; + DUP + /* [ mutez : mutez : pair key mutez signature : map key_hash mutez ] */ } + /* [ mutez : mutez : mutez : mutez : pair key mutez signature + : map key_hash mutez ] */ ; + DIP { CMPLT @not_enough } + /* [ mutez : bool : mutez : pair key mutez signature : map key_hash mutez ] */ ; + SWAP + /* [ bool : mutez : mutez : pair key mutez signature : map key_hash mutez ] */ ; + IF { PUSH string + "Not enough funds" + /* [ string : mutez : mutez : pair key mutez signature : map key_hash mutez ] */ ; + FAILWITH + /* [] */ } + { SUB_MUTEZ @new_balance + /* [ option mutez : pair key mutez signature : map key_hash mutez ] */ ; + ASSERT_SOME ; + DIP { DUP + /* [ pair key mutez signature : pair key mutez signature : map key_hash mutez ] */ ; + DIP { SWAP /* [ map key_hash mutez : pair key mutez signature ] */ } + /* [ pair key mutez signature : map key_hash mutez : pair key mutez signature ] */ } + /* [ mutez : pair key mutez signature : map key_hash mutez + : pair key mutez signature ] */ ; + DUP + /* [ mutez : mutez : pair key mutez signature : map key_hash mutez + : pair key mutez signature ] */ ; + PUSH @zero + mutez + 0 + /* [ mutez : mutez : mutez : pair key mutez signature : map key_hash mutez + : pair key mutez signature ] */ ; + CMPEQ @null_balance ; + IF { DROP + /* [ pair key mutez signature : map key_hash mutez : pair key mutez signature ] */ ; + NONE @new_balance + mutez + /* [ option mutez : pair key mutez signature : map key_hash mutez + : pair key mutez signature ] */ } + { SOME @new_balance + /* [ option mutez : pair key mutez signature : map key_hash mutez + : pair key mutez signature ] */ } ; + SWAP + /* [ pair key mutez signature : option mutez : map key_hash mutez + : pair key mutez signature ] */ ; + CAR %from + /* [ key : option mutez : map key_hash mutez : pair key mutez signature ] */ ; + HASH_KEY @from_hash + /* [ key_hash : option mutez : map key_hash mutez : pair key mutez signature ] */ ; + UPDATE + /* [ map key_hash mutez : pair key mutez signature ] */ ; + SWAP + /* [ pair key mutez signature : map key_hash mutez ] */ ; + DUP + /* [ pair key mutez signature : pair key mutez signature : map key_hash mutez ] */ ; + CDAR %withdraw_amount ; + DIP { CAR %from + /* [ key : map key_hash mutez ] */ ; + HASH_KEY @from_hash + /* [ key_hash : map key_hash mutez ] */ ; + IMPLICIT_ACCOUNT @from_account + /* [ contract unit : map key_hash mutez ] */ } + /* [ mutez : contract unit : map key_hash mutez ] */ ; + UNIT + /* [ unit : mutez : contract unit : map key_hash mutez ] */ ; + TRANSFER_TOKENS @withdraw_transfer_op + /* [ operation : map key_hash mutez ] */ ; + NIL operation + /* [ list operation : operation : map key_hash mutez ] */ ; + SWAP + /* [ operation : list operation : map key_hash mutez ] */ ; + CONS + /* [ list operation : map key_hash mutez ] */ ; + PAIR + /* [ pair (list operation) (map key_hash mutez) ] */ } } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-add1.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-add1.out new file mode 100644 index 000000000000..57b5e342af43 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-add1.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/add1.tz --details +Well typed +Gas remaining: 1039996.774 units remaining +{ parameter int ; + storage int ; + code { CAR + /* [ int ] */ ; + PUSH int 1 + /* [ int : int ] */ ; + ADD + /* [ int ] */ ; + NIL operation + /* [ list operation : int ] */ ; + PAIR + /* [ pair (list operation) int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-add1_list.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-add1_list.out new file mode 100644 index 000000000000..f2c6a189a9cd --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-add1_list.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/add1_list.tz --details +Well typed +Gas remaining: 1039995.973 units remaining +{ parameter (list int) ; + storage (list int) ; + code { CAR + /* [ list int ] */ ; + MAP { PUSH int 1 /* [ int : int ] */ ; ADD /* [ int ] */ } + /* [ list int ] */ ; + NIL operation + /* [ list operation : list int ] */ ; + PAIR + /* [ pair (list operation) (list int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-after_strategy.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-after_strategy.out new file mode 100644 index 000000000000..fd863401ae14 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-after_strategy.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/after_strategy.tz --details +Well typed +Gas remaining: 1039991.203 units remaining +{ parameter nat ; + storage (pair (pair nat bool) timestamp) ; + code { DUP + /* [ pair nat (pair nat bool) timestamp : pair nat (pair nat bool) timestamp ] */ ; + CAR + /* [ nat : pair nat (pair nat bool) timestamp ] */ ; + DIP { CDDR ; + DUP + /* [ timestamp : timestamp ] */ ; + NOW + /* [ timestamp : timestamp : timestamp ] */ ; + CMPGT } + /* [ nat : bool : timestamp ] */ ; + PAIR + /* [ pair nat bool : timestamp ] */ ; + PAIR + /* [ pair (pair nat bool) timestamp ] */ ; + NIL operation + /* [ list operation : pair (pair nat bool) timestamp ] */ ; + PAIR + /* [ pair (list operation) (pair nat bool) timestamp ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-always.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-always.out new file mode 100644 index 000000000000..d5889570afe8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-always.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/always.tz --details +Well typed +Gas remaining: 1039995.941 units remaining +{ parameter nat ; + storage (pair nat bool) ; + code { CAR + /* [ nat ] */ ; + PUSH bool True + /* [ bool : nat ] */ ; + SWAP + /* [ nat : bool ] */ ; + PAIR + /* [ pair nat bool ] */ ; + NIL operation + /* [ list operation : pair nat bool ] */ ; + PAIR + /* [ pair (list operation) nat bool ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-append.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-append.out new file mode 100644 index 000000000000..b6dc2779dae6 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-append.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/append.tz --details +Well typed +Gas remaining: 1039993.459 units remaining +{ parameter (pair (list int) (list int)) ; + storage (list int) ; + code { CAR + /* [ pair (list int) (list int) ] */ ; + UNPAIR + /* [ list int : list int ] */ ; + NIL int + /* [ list int : list int : list int ] */ ; + SWAP + /* [ list int : list int : list int ] */ ; + ITER { CONS /* [ list int : list int ] */ } + /* [ list int : list int ] */ ; + ITER { CONS /* [ list int ] */ } + /* [ list int ] */ ; + NIL operation + /* [ list operation : list int ] */ ; + PAIR + /* [ pair (list operation) (list int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-at_least.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-at_least.out new file mode 100644 index 000000000000..dd1177de5cae --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-at_least.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/at_least.tz --details +Well typed +Gas remaining: 1039993.870 units remaining +{ parameter unit ; + storage mutez ; + code { CDR + /* [ mutez ] */ ; + DUP + /* [ mutez : mutez ] */ ; + AMOUNT + /* [ mutez : mutez : mutez ] */ ; + CMPLT ; + IF { FAIL } + { NIL operation + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-auction.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-auction.out new file mode 100644 index 000000000000..3d52fd981657 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-auction.out @@ -0,0 +1,66 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/auction.tz --details +Well typed +Gas remaining: 1039974.418 units remaining +{ parameter key_hash ; + storage (pair timestamp (pair mutez key_hash)) ; + code { DUP + /* [ pair key_hash timestamp mutez key_hash + : pair key_hash timestamp mutez key_hash ] */ ; + CDAR ; + DUP + /* [ timestamp : timestamp : pair key_hash timestamp mutez key_hash ] */ ; + NOW + /* [ timestamp : timestamp : timestamp + : pair key_hash timestamp mutez key_hash ] */ ; + CMPGT ; + IF { FAIL } { /* [ timestamp : pair key_hash timestamp mutez key_hash ] */ } ; + SWAP + /* [ pair key_hash timestamp mutez key_hash : timestamp ] */ ; + DUP + /* [ pair key_hash timestamp mutez key_hash + : pair key_hash timestamp mutez key_hash : timestamp ] */ ; + CAR + /* [ key_hash : pair key_hash timestamp mutez key_hash : timestamp ] */ ; + DIP { CDDR } + /* [ key_hash : pair mutez key_hash : timestamp ] */ ; + AMOUNT + /* [ mutez : key_hash : pair mutez key_hash : timestamp ] */ ; + PAIR + /* [ pair mutez key_hash : pair mutez key_hash : timestamp ] */ ; + SWAP + /* [ pair mutez key_hash : pair mutez key_hash : timestamp ] */ ; + DIP { SWAP + /* [ timestamp : pair mutez key_hash ] */ ; + PAIR + /* [ pair timestamp mutez key_hash ] */ } + /* [ pair mutez key_hash : pair timestamp mutez key_hash ] */ ; + DUP + /* [ pair mutez key_hash : pair mutez key_hash : pair timestamp mutez key_hash ] */ ; + CAR + /* [ mutez : pair mutez key_hash : pair timestamp mutez key_hash ] */ ; + AMOUNT + /* [ mutez : mutez : pair mutez key_hash : pair timestamp mutez key_hash ] */ ; + CMPLE ; + IF { FAIL } { /* [ pair mutez key_hash : pair timestamp mutez key_hash ] */ } ; + DUP + /* [ pair mutez key_hash : pair mutez key_hash : pair timestamp mutez key_hash ] */ ; + CAR + /* [ mutez : pair mutez key_hash : pair timestamp mutez key_hash ] */ ; + DIP { CDR + /* [ key_hash : pair timestamp mutez key_hash ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit : pair timestamp mutez key_hash ] */ } + /* [ mutez : contract unit : pair timestamp mutez key_hash ] */ ; + UNIT + /* [ unit : mutez : contract unit : pair timestamp mutez key_hash ] */ ; + TRANSFER_TOKENS + /* [ operation : pair timestamp mutez key_hash ] */ ; + NIL operation + /* [ list operation : operation : pair timestamp mutez key_hash ] */ ; + SWAP + /* [ operation : list operation : pair timestamp mutez key_hash ] */ ; + CONS + /* [ list operation : pair timestamp mutez key_hash ] */ ; + PAIR + /* [ pair (list operation) timestamp mutez key_hash ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-bad_lockup.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-bad_lockup.out new file mode 100644 index 000000000000..1f868f94b4b0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-bad_lockup.out @@ -0,0 +1,59 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/bad_lockup.tz --details +Well typed +Gas remaining: 1039974.993 units remaining +{ parameter unit ; + storage (pair timestamp (pair address address)) ; + code { CDR + /* [ pair timestamp address address ] */ ; + DUP + /* [ pair timestamp address address : pair timestamp address address ] */ ; + CAR + /* [ timestamp : pair timestamp address address ] */ ; + NOW + /* [ timestamp : timestamp : pair timestamp address address ] */ ; + CMPLT ; + IF { FAIL } { /* [ pair timestamp address address ] */ } ; + DUP + /* [ pair timestamp address address : pair timestamp address address ] */ ; + CDAR ; + CONTRACT unit + /* [ option (contract unit) : pair timestamp address address ] */ ; + ASSERT_SOME ; + PUSH mutez 100000000 + /* [ mutez : contract unit : pair timestamp address address ] */ ; + UNIT + /* [ unit : mutez : contract unit : pair timestamp address address ] */ ; + TRANSFER_TOKENS + /* [ operation : pair timestamp address address ] */ ; + SWAP + /* [ pair timestamp address address : operation ] */ ; + DUP + /* [ pair timestamp address address : pair timestamp address address + : operation ] */ ; + CDDR ; + CONTRACT + unit + /* [ option (contract unit) : pair timestamp address address : operation ] */ ; + ASSERT_SOME ; + PUSH mutez + 100000000 + /* [ mutez : contract unit : pair timestamp address address : operation ] */ ; + UNIT + /* [ unit : mutez : contract unit : pair timestamp address address : operation ] */ ; + TRANSFER_TOKENS + /* [ operation : pair timestamp address address : operation ] */ ; + DIP { SWAP /* [ operation : pair timestamp address address ] */ } + /* [ operation : operation : pair timestamp address address ] */ ; + NIL operation + /* [ list operation : operation : operation : pair timestamp address address ] */ ; + SWAP + /* [ operation : list operation : operation : pair timestamp address address ] */ ; + CONS + /* [ list operation : operation : pair timestamp address address ] */ ; + SWAP + /* [ operation : list operation : pair timestamp address address ] */ ; + CONS + /* [ list operation : pair timestamp address address ] */ ; + PAIR + /* [ pair (list operation) timestamp address address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-big_map_union.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-big_map_union.out new file mode 100644 index 000000000000..d62fe277e7a0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-big_map_union.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/big_map_union.tz --details +Well typed +Gas remaining: 1039987.459 units remaining +{ parameter (list (pair string int)) ; + storage (pair (big_map string int) unit) ; + code { UNPAPAIR ; + ITER { UNPAIR + /* [ string : int : big_map string int : unit ] */ ; + DUUUP + /* [ big_map string int : string : int : big_map string int : unit ] */ ; + DUUP + /* [ string : big_map string int : string : int : big_map string int : unit ] */ ; + GET + /* [ option int : string : int : big_map string int : unit ] */ ; + IF_NONE + { PUSH int 0 /* [ int : string : int : big_map string int : unit ] */ } + { /* [ int : string : int : big_map string int : unit ] */ } ; + SWAP + /* [ string : int : int : big_map string int : unit ] */ ; + DIP { ADD + /* [ int : big_map string int : unit ] */ ; + SOME + /* [ option int : big_map string int : unit ] */ } + /* [ string : option int : big_map string int : unit ] */ ; + UPDATE + /* [ big_map string int : unit ] */ } + /* [ big_map string int : unit ] */ ; + PAIR + /* [ pair (big_map string int) unit ] */ ; + NIL operation + /* [ list operation : pair (big_map string int) unit ] */ ; + PAIR + /* [ pair (list operation) (big_map string int) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cadr_annotation.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cadr_annotation.out new file mode 100644 index 000000000000..67f4a3ff31b8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cadr_annotation.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/cadr_annotation.tz --details +Well typed +Gas remaining: 1039995.385 units remaining +{ parameter (pair (pair %p1 unit (string %no_name)) bool) ; + storage unit ; + code { CAR @param + /* [ pair (pair unit string) bool ] */ ; + CADR @name %no_name ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-concat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-concat.out new file mode 100644 index 000000000000..2be94ac0f693 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-concat.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/concat.tz --details +Well typed +Gas remaining: 1039993.578 units remaining +{ parameter string ; + storage string ; + code { DUP + /* [ pair string string : pair string string ] */ ; + DIP { CDR + /* [ string ] */ ; + NIL string + /* [ list string : string ] */ ; + SWAP + /* [ string : list string ] */ ; + CONS + /* [ list string ] */ } + /* [ pair string string : list string ] */ ; + CAR + /* [ string : list string ] */ ; + CONS + /* [ list string ] */ ; + CONCAT + /* [ string ] */ ; + NIL operation + /* [ list operation : string ] */ ; + PAIR + /* [ pair (list operation) string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-conditionals.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-conditionals.out new file mode 100644 index 000000000000..5886f758f468 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-conditionals.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/conditionals.tz --details +Well typed +Gas remaining: 1039990.576 units remaining +{ parameter (or string (option int)) ; + storage string ; + code { CAR + /* [ or string (option int) ] */ ; + IF_LEFT + { /* [ string ] */ } + { IF_NONE + { FAIL } + { PUSH int 0 + /* [ int : int ] */ ; + CMPGT ; + IF { FAIL } { PUSH string "" /* [ string ] */ } } } ; + NIL operation + /* [ list operation : string ] */ ; + PAIR + /* [ pair (list operation) string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cons_twice.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cons_twice.out new file mode 100644 index 000000000000..743264498da9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cons_twice.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/cons_twice.tz --details +Well typed +Gas remaining: 1039993.758 units remaining +{ parameter nat ; + storage (list nat) ; + code { DUP + /* [ pair nat (list nat) : pair nat (list nat) ] */ ; + CAR + /* [ nat : pair nat (list nat) ] */ ; + DIP { CDR /* [ list nat ] */ } + /* [ nat : list nat ] */ ; + DUP + /* [ nat : nat : list nat ] */ ; + DIP { CONS /* [ list nat ] */ } + /* [ nat : list nat ] */ ; + CONS + /* [ list nat ] */ ; + NIL operation + /* [ list operation : list nat ] */ ; + PAIR + /* [ pair (list operation) (list nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cps_fact.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cps_fact.out new file mode 100644 index 000000000000..3e94193e5735 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-cps_fact.out @@ -0,0 +1,66 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/cps_fact.tz --details +Well typed +Gas remaining: 1039976.109 units remaining +{ storage nat ; + parameter nat ; + code { UNPAIR + /* [ nat : nat ] */ ; + DIP { SELF + /* [ contract nat : nat ] */ ; + ADDRESS + /* [ address : nat ] */ ; + SENDER + /* [ address : address : nat ] */ ; + IFCMPEQ { /* [ nat ] */ } { DROP /* [] */ ; PUSH @storage nat 1 /* [ nat ] */ } } + /* [ nat : nat ] */ ; + DUP + /* [ nat : nat : nat ] */ ; + PUSH nat 1 + /* [ nat : nat : nat : nat ] */ ; + IFCMPGE + { DROP + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } + { PUSH nat 1 + /* [ nat : nat : nat ] */ ; + SWAP + /* [ nat : nat : nat ] */ ; + SUB @parameter + /* [ int : nat ] */ ; + ISNAT + /* [ option nat : nat ] */ ; + IF_NONE + { NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } + { DUP + /* [ nat : nat : nat ] */ ; + DIP { PUSH nat 1 + /* [ nat : nat : nat ] */ ; + ADD + /* [ nat : nat ] */ ; + MUL @storage + /* [ nat ] */ } + /* [ nat : nat ] */ ; + SWAP + /* [ nat : nat ] */ ; + DIP { DIP { SELF /* [ contract nat ] */ ; PUSH mutez 0 /* [ mutez : contract nat ] */ } + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ } + /* [ nat : list operation ] */ ; + SWAP + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-create_add1_lists.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-create_add1_lists.out new file mode 100644 index 000000000000..d7aa4583c8f0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-create_add1_lists.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/create_add1_lists.tz --details +Well typed +Gas remaining: 1039989.990 units remaining +{ parameter unit ; + storage address ; + code { DROP + /* [] */ ; + NIL int /* [ list int ] */ + /* [ list int ] */ ; + AMOUNT + /* [ list int ] */ ; + NONE key_hash /* [ int : int ] */ + /* [ option key_hash : mutez : list int ] */ ; + CREATE_CONTRACT + { parameter (list int /* [ list operation : list int ] */) + /* [ int ] */ ; + storage (list int) + /* [ pair (list operation) (list int) ] */ ; + code { CAR ; MAP { PUSH int 1 ; ADD } ; NIL operation ; PAIR } } + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-data_publisher.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-data_publisher.out new file mode 100644 index 000000000000..4f3bf0e85f5c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-data_publisher.out @@ -0,0 +1,73 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/data_publisher.tz --details +Well typed +Gas remaining: 1039975.804 units remaining +{ parameter (pair signature (pair string nat)) ; + storage (pair (pair key nat) string) ; + code { DUP + /* [ pair (pair signature string nat) (pair key nat) string + : pair (pair signature string nat) (pair key nat) string ] */ ; + CAR + /* [ pair signature string nat + : pair (pair signature string nat) (pair key nat) string ] */ ; + DIP { CDR + /* [ pair (pair key nat) string ] */ ; + DUP + /* [ pair (pair key nat) string : pair (pair key nat) string ] */ } + /* [ pair signature string nat : pair (pair key nat) string + : pair (pair key nat) string ] */ ; + SWAP + /* [ pair (pair key nat) string : pair signature string nat + : pair (pair key nat) string ] */ ; + DIP { DUP + /* [ pair signature string nat : pair signature string nat + : pair (pair key nat) string ] */ } + /* [ pair (pair key nat) string : pair signature string nat + : pair signature string nat : pair (pair key nat) string ] */ ; + CAAR ; + DIP { DUP + /* [ pair signature string nat : pair signature string nat + : pair signature string nat : pair (pair key nat) string ] */ ; + CAR + /* [ signature : pair signature string nat : pair signature string nat + : pair (pair key nat) string ] */ ; + DIP { CDR + /* [ pair string nat : pair signature string nat : pair (pair key nat) string ] */ ; + PACK + /* [ bytes : pair signature string nat : pair (pair key nat) string ] */ ; + BLAKE2B + /* [ bytes : pair signature string nat : pair (pair key nat) string ] */ } + /* [ signature : bytes : pair signature string nat + : pair (pair key nat) string ] */ } + /* [ key : signature : bytes : pair signature string nat + : pair (pair key nat) string ] */ ; + CHECK_SIGNATURE + /* [ bool : pair signature string nat : pair (pair key nat) string ] */ ; + IF { CDR + /* [ pair string nat : pair (pair key nat) string ] */ ; + DUP + /* [ pair string nat : pair string nat : pair (pair key nat) string ] */ ; + DIP { CAR + /* [ string : pair (pair key nat) string ] */ ; + DIP { CAAR } + /* [ string : key ] */ } + /* [ pair string nat : string : key ] */ ; + CDR + /* [ nat : string : key ] */ ; + PUSH nat 1 + /* [ nat : nat : string : key ] */ ; + ADD + /* [ nat : string : key ] */ ; + DIP { SWAP /* [ key : string ] */ } + /* [ nat : key : string ] */ ; + SWAP + /* [ key : nat : string ] */ ; + PAIR + /* [ pair key nat : string ] */ ; + PAIR + /* [ pair (pair key nat) string ] */ ; + NIL operation + /* [ list operation : pair (pair key nat) string ] */ ; + PAIR + /* [ pair (list operation) (pair key nat) string ] */ } + { FAIL } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-dispatch.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-dispatch.out new file mode 100644 index 000000000000..35b9a43bff4a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-dispatch.out @@ -0,0 +1,55 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/dispatch.tz --details +Well typed +Gas remaining: 1039983.006 units remaining +{ parameter (or string (pair string (lambda unit string))) ; + storage (pair string (map string (lambda unit string))) ; + code { DUP + /* [ pair (or string (pair string (lambda unit string))) + string + (map string (lambda unit string)) + : pair (or string (pair string (lambda unit string))) + string + (map string (lambda unit string)) ] */ ; + DIP { CDDR } + /* [ pair (or string (pair string (lambda unit string))) + string + (map string (lambda unit string)) : map string (lambda unit string) ] */ ; + CAR + /* [ or string (pair string (lambda unit string)) + : map string (lambda unit string) ] */ ; + IF_LEFT + { DIP { DUP + /* [ map string (lambda unit string) : map string (lambda unit string) ] */ } + /* [ string : map string (lambda unit string) + : map string (lambda unit string) ] */ ; + GET + /* [ option (lambda unit string) : map string (lambda unit string) ] */ ; + IF_NONE + { FAIL } + { /* [ lambda unit string : map string (lambda unit string) ] */ } ; + UNIT + /* [ unit : lambda unit string : map string (lambda unit string) ] */ ; + EXEC + /* [ string : map string (lambda unit string) ] */ } + { DUP + /* [ pair string (lambda unit string) : pair string (lambda unit string) + : map string (lambda unit string) ] */ ; + CAR + /* [ string : pair string (lambda unit string) + : map string (lambda unit string) ] */ ; + DIP { CDR + /* [ lambda unit string : map string (lambda unit string) ] */ ; + SOME + /* [ option (lambda unit string) : map string (lambda unit string) ] */ } + /* [ string : option (lambda unit string) : map string (lambda unit string) ] */ ; + UPDATE + /* [ map string (lambda unit string) ] */ ; + PUSH string "" + /* [ string : map string (lambda unit string) ] */ } ; + PAIR + /* [ pair string (map string (lambda unit string)) ] */ ; + NIL operation + /* [ list operation : pair string (map string (lambda unit string)) ] */ ; + PAIR + /* [ pair (list operation) string (map string (lambda unit string)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-empty.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-empty.out new file mode 100644 index 000000000000..328cbd5ec23f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-empty.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/empty.tz --details +Well typed +Gas remaining: 1039997.907 units remaining +{ parameter unit ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-fail_amount.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-fail_amount.out new file mode 100644 index 000000000000..69402a5ed32d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-fail_amount.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/fail_amount.tz --details +Well typed +Gas remaining: 1039993.067 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + AMOUNT + /* [ mutez ] */ ; + PUSH mutez 10000000 + /* [ mutez : mutez ] */ ; + CMPGT ; + IF { FAIL } { /* [] */ } ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-faucet.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-faucet.out new file mode 100644 index 000000000000..efcffc26a62a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-faucet.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/faucet.tz --details +Well typed +Gas remaining: 1039988.070 units remaining +{ parameter key_hash ; + storage timestamp ; + code { UNPAIR + /* [ key_hash : timestamp ] */ ; + SWAP + /* [ timestamp : key_hash ] */ ; + PUSH int 300 + /* [ int : timestamp : key_hash ] */ ; + ADD @FIVE_MINUTES_LATER + /* [ timestamp : key_hash ] */ ; + NOW + /* [ timestamp : timestamp : key_hash ] */ ; + ASSERT_CMPGE ; + IMPLICIT_ACCOUNT + /* [ contract unit ] */ ; + PUSH mutez 1000000 + /* [ mutez : contract unit ] */ ; + UNIT + /* [ unit : mutez : contract unit ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ ; + DIP { NOW /* [ timestamp ] */ } + /* [ list operation : timestamp ] */ ; + PAIR + /* [ pair (list operation) timestamp ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-forward.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-forward.out new file mode 100644 index 000000000000..4ea00b11c179 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-forward.out @@ -0,0 +1,1775 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/forward.tz --details +Well typed +Gas remaining: 1039670.292 units remaining +{ parameter (or string nat) ; + storage + (pair (pair nat (pair mutez mutez)) + (pair (pair nat (pair timestamp timestamp)) + (pair (pair mutez mutez) (pair (pair address address) address)))) ; + code { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDADDR ; + PUSH int + 86400 + /* [ int : timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + SWAP + /* [ timestamp : int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ADD + /* [ timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NOW + /* [ timestamp : timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + LT + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CAR + /* [ or string nat + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF_LEFT + { DUP + /* [ string : string + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PUSH string + "buyer" + /* [ string : string : string + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int : string + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + EQ + /* [ bool : string + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { DROP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDADAR ; + DIP { AMOUNT + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ADD + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDADDR } + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PUSH nat + 0 + /* [ nat : pair mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair nat mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { CDDR } + /* [ pair nat mutez mutez + : pair (pair nat timestamp timestamp) (pair mutez mutez) (pair address address) address ] */ ; + PAIR + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NIL operation + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair (list operation) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + { PUSH string + "seller" + /* [ string : string + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + EQ + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDADDR ; + DIP { AMOUNT + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ADD + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDADAR } + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + SWAP + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PUSH nat + 0 + /* [ nat : pair mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair nat mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { CDDR } + /* [ pair nat mutez mutez + : pair (pair nat timestamp timestamp) (pair mutez mutez) (pair address address) address ] */ ; + PAIR + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NIL operation + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair (list operation) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + { FAIL } } } + { FAIL } } + { BALANCE + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PUSH mutez + 0 + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IFCMPEQ + { FAIL } + { /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } ; + DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDAAR ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDDADR } + /* [ nat : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + MUL + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PUSH nat + 2 + /* [ nat : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + MUL + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + BALANCE + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + LT + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { CDR + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DUP + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CADAR ; + DIP { DUP + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDDAAR } + /* [ mutez : address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NIL operation + /* [ list operation : operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + SWAP + /* [ operation : list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CONS + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + SWAP + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + DUP + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + CADDR ; + DIP { DUP + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + CDDDADR } + /* [ mutez : address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + SWAP + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : operation : list operation ] */ ; + DIP { CONS /* [ list operation ] */ } + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + DUP + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + CADAR ; + DIP { DUP + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + CADDR } + /* [ mutez : mutez + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + ADD + /* [ mutez + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + BALANCE + /* [ mutez : mutez + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + SUB_MUTEZ + /* [ option mutez + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + ASSERT_SOME ; + DIP { DUP + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + CDDDDR } + /* [ mutez : address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address : list operation ] */ ; + DIP { SWAP + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + /* [ operation : list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CONS + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair (list operation) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDADAR ; + NOW + /* [ timestamp : timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + LT + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { FAIL } + { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDADAR ; + PUSH int + 86400 + /* [ int : timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ADD + /* [ timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NOW + /* [ timestamp : timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + LT + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CAR + /* [ or string nat + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF_LEFT + { PUSH string + "buyer" + /* [ string : string + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + EQ + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDADAR ; + DIP { AMOUNT + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ADD + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DUP + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDAAR ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDDAAR } + /* [ nat : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + MUL + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + /* [ mutez : mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + GT + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { FAIL } + { /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } } + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDADDR } + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PUSH nat + 0 + /* [ nat : pair mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair nat mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { CDDR } + /* [ pair nat mutez mutez + : pair (pair nat timestamp timestamp) (pair mutez mutez) (pair address address) address ] */ ; + PAIR + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NIL operation + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair (list operation) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + { FAIL } } + { FAIL } } + { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDAAR ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDDAAR } + /* [ nat : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + MUL + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDADAR } + /* [ mutez : mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NEQ + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { BALANCE + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDDDADR } + /* [ mutez : address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIIP { CDR + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + /* [ mutez : address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NIL operation + /* [ list operation : operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + SWAP + /* [ operation : list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CONS + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair (list operation) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDADAR ; + PUSH int + 86400 + /* [ int : timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ADD + /* [ timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PUSH int + 86400 + /* [ int : timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ADD + /* [ timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NOW + /* [ timestamp : timestamp + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + LT + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDDDDR ; + SENDER + /* [ address : address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NEQ + /* [ bool + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { FAIL } + { /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } ; + DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CAR + /* [ or string nat + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF_LEFT + { FAIL } + { DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDAAR } + /* [ nat : nat + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ADD + /* [ nat + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDADR } + /* [ nat : pair mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair nat mutez mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { CDDR } + /* [ pair nat mutez mutez + : pair (pair nat timestamp timestamp) (pair mutez mutez) (pair address address) address ] */ ; + PAIR + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + UNIT + /* [ unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DUP + /* [ pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDAAR ; + DIP { DUP + /* [ pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDAAR } + /* [ nat : nat + : pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + COMPARE + /* [ int + : pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + LT + /* [ bool + : pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + IF { CDR + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NIL operation + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + { BALANCE + /* [ mutez + : pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { DUP + /* [ pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDDDADR } + /* [ mutez : address + : pair unit + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIIP { CDR + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + /* [ mutez : address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NIL operation + /* [ list operation : operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + SWAP + /* [ operation : list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CONS + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } } ; + PAIR + /* [ pair (list operation) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + { BALANCE + /* [ mutez + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { DUP + /* [ pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CDDDDAAR } + /* [ mutez : address + : pair (or string nat) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIIP { CDR + /* [ pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } + /* [ mutez : address + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + NIL operation + /* [ list operation : operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + SWAP + /* [ operation : list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + CONS + /* [ list operation + : pair (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ ; + PAIR + /* [ pair (list operation) + (pair nat mutez mutez) + (pair nat timestamp timestamp) + (pair mutez mutez) + (pair address address) + address ] */ } } } } } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-id.out new file mode 100644 index 000000000000..b648d61f4e7d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-id.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/id.tz --details +Well typed +Gas remaining: 1039997.907 units remaining +{ parameter string ; + storage string ; + code { CAR + /* [ string ] */ ; + NIL operation + /* [ list operation : string ] */ ; + PAIR + /* [ pair (list operation) string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-infinite_loop.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-infinite_loop.out new file mode 100644 index 000000000000..44913ab45674 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-infinite_loop.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/infinite_loop.tz --details +Well typed +Gas remaining: 1039995.465 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH bool True + /* [ bool ] */ ; + LOOP { PUSH bool True /* [ bool ] */ } + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-insertion_sort.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-insertion_sort.out new file mode 100644 index 000000000000..16322f684819 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-insertion_sort.out @@ -0,0 +1,63 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/insertion_sort.tz --details +Well typed +Gas remaining: 1039976.745 units remaining +{ parameter (list int) ; + storage (list int) ; + code { CAR + /* [ list int ] */ ; + NIL int + /* [ list int : list int ] */ ; + SWAP + /* [ list int : list int ] */ ; + ITER { SWAP + /* [ list int : int ] */ ; + DIIP { NIL int /* [ list int ] */ } + /* [ list int : int : list int ] */ ; + PUSH bool True + /* [ bool : list int : int : list int ] */ ; + LOOP { IF_CONS + { SWAP + /* [ list int : int : int : list int ] */ ; + DIP { DUP + /* [ int : int : int : list int ] */ ; + DIIP { DUP /* [ int : int : list int ] */ } + /* [ int : int : int : int : list int ] */ ; + DIP { CMPLT } + /* [ int : bool : int : list int ] */ ; + SWAP + /* [ bool : int : int : list int ] */ } + /* [ list int : bool : int : int : list int ] */ ; + SWAP + /* [ bool : list int : int : int : list int ] */ ; + IF { DIP { SWAP + /* [ int : int : list int ] */ ; + DIP { CONS /* [ list int ] */ } + /* [ int : list int ] */ } + /* [ list int : int : list int ] */ ; + PUSH bool True + /* [ bool : list int : int : list int ] */ } + { SWAP + /* [ int : list int : int : list int ] */ ; + CONS + /* [ list int : int : list int ] */ ; + PUSH bool False + /* [ bool : list int : int : list int ] */ } } + { NIL int + /* [ list int : int : list int ] */ ; + PUSH bool False + /* [ bool : list int : int : list int ] */ } } + /* [ list int : int : list int ] */ ; + SWAP + /* [ int : list int : list int ] */ ; + CONS + /* [ list int : list int ] */ ; + SWAP + /* [ list int : list int ] */ ; + ITER { CONS /* [ list int ] */ } + /* [ list int ] */ } + /* [ list int ] */ ; + NIL operation + /* [ list operation : list int ] */ ; + PAIR + /* [ pair (list operation) (list int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-int_publisher.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-int_publisher.out new file mode 100644 index 000000000000..a38d5658383c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-int_publisher.out @@ -0,0 +1,87 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/int_publisher.tz --details +Well typed +Gas remaining: 1039970.043 units remaining +{ parameter (option (pair signature int)) ; + storage (pair key int) ; + code { DUP + /* [ pair (option (pair signature int)) key int + : pair (option (pair signature int)) key int ] */ ; + DUP + /* [ pair (option (pair signature int)) key int + : pair (option (pair signature int)) key int + : pair (option (pair signature int)) key int ] */ ; + CAR + /* [ option (pair signature int) : pair (option (pair signature int)) key int + : pair (option (pair signature int)) key int ] */ ; + IF_NONE + { PUSH mutez + 1000000 + /* [ mutez : pair (option (pair signature int)) key int + : pair (option (pair signature int)) key int ] */ ; + AMOUNT + /* [ mutez : mutez : pair (option (pair signature int)) key int + : pair (option (pair signature int)) key int ] */ ; + CMPLE ; + IF { FAIL } + { /* [ pair (option (pair signature int)) key int + : pair (option (pair signature int)) key int ] */ } ; + CDR + /* [ pair key int : pair (option (pair signature int)) key int ] */ ; + DIP { CDDR } + /* [ pair key int : int ] */ } + { DUP + /* [ pair signature int : pair signature int + : pair (option (pair signature int)) key int + : pair (option (pair signature int)) key int ] */ ; + DIP { SWAP + /* [ pair (option (pair signature int)) key int : pair signature int + : pair (option (pair signature int)) key int ] */ } + /* [ pair signature int : pair (option (pair signature int)) key int + : pair signature int : pair (option (pair signature int)) key int ] */ ; + SWAP + /* [ pair (option (pair signature int)) key int : pair signature int + : pair signature int : pair (option (pair signature int)) key int ] */ ; + CDAR ; + DIP { DUP + /* [ pair signature int : pair signature int : pair signature int + : pair (option (pair signature int)) key int ] */ ; + CAR + /* [ signature : pair signature int : pair signature int + : pair (option (pair signature int)) key int ] */ ; + DIP { CDR + /* [ int : pair signature int : pair (option (pair signature int)) key int ] */ ; + PACK + /* [ bytes : pair signature int : pair (option (pair signature int)) key int ] */ ; + BLAKE2B + /* [ bytes : pair signature int : pair (option (pair signature int)) key int ] */ } + /* [ signature : bytes : pair signature int + : pair (option (pair signature int)) key int ] */ } + /* [ key : signature : bytes : pair signature int + : pair (option (pair signature int)) key int ] */ ; + CHECK_SIGNATURE + /* [ bool : pair signature int : pair (option (pair signature int)) key int ] */ ; + IF { CDR + /* [ int : pair (option (pair signature int)) key int ] */ ; + SWAP + /* [ pair (option (pair signature int)) key int : int ] */ ; + DIP { DUP /* [ int : int ] */ } + /* [ pair (option (pair signature int)) key int : int : int ] */ ; + CDAR ; + PAIR + /* [ pair key int : int ] */ } + { DROP + /* [ pair (option (pair signature int)) key int ] */ ; + DUP + /* [ pair (option (pair signature int)) key int + : pair (option (pair signature int)) key int ] */ ; + CDR + /* [ pair key int : pair (option (pair signature int)) key int ] */ ; + DIP { CDDR } + /* [ pair key int : int ] */ } } ; + DIP { DROP /* [] */ } + /* [ pair key int ] */ ; + NIL operation + /* [ list operation : pair key int ] */ ; + PAIR + /* [ pair (list operation) key int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-king_of_tez.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-king_of_tez.out new file mode 100644 index 000000000000..798bf245415e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-king_of_tez.out @@ -0,0 +1,70 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/king_of_tez.tz --details +Well typed +Gas remaining: 1039974.327 units remaining +{ parameter key_hash ; + storage (pair timestamp (pair mutez key_hash)) ; + code { DUP + /* [ pair key_hash timestamp mutez key_hash + : pair key_hash timestamp mutez key_hash ] */ ; + CDAR ; + NOW + /* [ timestamp : timestamp : pair key_hash timestamp mutez key_hash ] */ ; + CMPGT ; + IF { CAR + /* [ key_hash ] */ ; + AMOUNT + /* [ mutez : key_hash ] */ ; + PAIR + /* [ pair mutez key_hash ] */ ; + NOW + /* [ timestamp : pair mutez key_hash ] */ ; + PUSH int 604800 + /* [ int : timestamp : pair mutez key_hash ] */ ; + ADD + /* [ timestamp : pair mutez key_hash ] */ ; + PAIR + /* [ pair timestamp mutez key_hash ] */ ; + NIL operation + /* [ list operation : pair timestamp mutez key_hash ] */ } + { DUP + /* [ pair key_hash timestamp mutez key_hash + : pair key_hash timestamp mutez key_hash ] */ ; + CDDAR ; + AMOUNT + /* [ mutez : mutez : pair key_hash timestamp mutez key_hash ] */ ; + CMPLT ; + IF { FAIL } + { CAR + /* [ key_hash ] */ ; + DUP + /* [ key_hash : key_hash ] */ ; + DIP { AMOUNT + /* [ mutez : key_hash ] */ ; + PAIR + /* [ pair mutez key_hash ] */ ; + NOW + /* [ timestamp : pair mutez key_hash ] */ ; + PUSH int 604800 + /* [ int : timestamp : pair mutez key_hash ] */ ; + ADD + /* [ timestamp : pair mutez key_hash ] */ ; + PAIR + /* [ pair timestamp mutez key_hash ] */ } + /* [ key_hash : pair timestamp mutez key_hash ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit : pair timestamp mutez key_hash ] */ ; + AMOUNT + /* [ mutez : contract unit : pair timestamp mutez key_hash ] */ ; + UNIT + /* [ unit : mutez : contract unit : pair timestamp mutez key_hash ] */ ; + TRANSFER_TOKENS + /* [ operation : pair timestamp mutez key_hash ] */ ; + NIL operation + /* [ list operation : operation : pair timestamp mutez key_hash ] */ ; + SWAP + /* [ operation : list operation : pair timestamp mutez key_hash ] */ ; + CONS + /* [ list operation : pair timestamp mutez key_hash ] */ } } ; + PAIR + /* [ pair (list operation) timestamp mutez key_hash ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-list_of_transactions.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-list_of_transactions.out new file mode 100644 index 000000000000..aede95d444e4 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-list_of_transactions.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/list_of_transactions.tz --details +Well typed +Gas remaining: 1039985.482 units remaining +{ parameter unit ; + storage (list address) ; + code { CDR + /* [ list address ] */ ; + DUP + /* [ list address : list address ] */ ; + DIP { NIL operation /* [ list operation : list address ] */ } + /* [ list address : list operation : list address ] */ ; + PUSH bool True + /* [ bool : list address : list operation : list address ] */ ; + LOOP { IF_CONS + { CONTRACT + unit + /* [ option (contract unit) : list address : list operation : list address ] */ ; + ASSERT_SOME ; + PUSH mutez + 1000000 + /* [ mutez : contract unit : list address : list operation : list address ] */ ; + UNIT + /* [ unit : mutez : contract unit : list address : list operation + : list address ] */ ; + TRANSFER_TOKENS + /* [ operation : list address : list operation : list address ] */ ; + SWAP + /* [ list address : operation : list operation : list address ] */ ; + DIP { CONS /* [ list operation : list address ] */ } + /* [ list address : list operation : list address ] */ ; + PUSH bool True + /* [ bool : list address : list operation : list address ] */ } + { NIL address + /* [ list address : list operation : list address ] */ ; + PUSH bool False + /* [ bool : list address : list operation : list address ] */ } } + /* [ list address : list operation : list address ] */ ; + DROP + /* [ list operation : list address ] */ ; + PAIR + /* [ pair (list operation) (list address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-queue.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-queue.out new file mode 100644 index 000000000000..51a380cb43f7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-queue.out @@ -0,0 +1,106 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/queue.tz --details +Well typed +Gas remaining: 1039958.584 units remaining +{ parameter (option string) ; + storage (pair (option string) (pair (pair nat nat) (map nat string))) ; + code { DUP + /* [ pair (option string) (option string) (pair nat nat) (map nat string) + : pair (option string) (option string) (pair nat nat) (map nat string) ] */ ; + CAR + /* [ option string + : pair (option string) (option string) (pair nat nat) (map nat string) ] */ ; + IF_NONE + { CDDR ; + DUP + /* [ pair (pair nat nat) (map nat string) + : pair (pair nat nat) (map nat string) ] */ ; + CAR + /* [ pair nat nat : pair (pair nat nat) (map nat string) ] */ ; + DIP { CDR /* [ map nat string ] */ ; DUP /* [ map nat string : map nat string ] */ } + /* [ pair nat nat : map nat string : map nat string ] */ ; + DUP + /* [ pair nat nat : pair nat nat : map nat string : map nat string ] */ ; + CAR + /* [ nat : pair nat nat : map nat string : map nat string ] */ ; + SWAP + /* [ pair nat nat : nat : map nat string : map nat string ] */ ; + DIP { GET /* [ option string : map nat string ] */ } + /* [ pair nat nat : option string : map nat string ] */ ; + SWAP + /* [ option string : pair nat nat : map nat string ] */ ; + IF_NONE + { NONE string + /* [ option string : pair nat nat : map nat string ] */ ; + DIP { PAIR /* [ pair (pair nat nat) (map nat string) ] */ } + /* [ option string : pair (pair nat nat) (map nat string) ] */ ; + PAIR + /* [ pair (option string) (pair nat nat) (map nat string) ] */ } + { SOME + /* [ option string : pair nat nat : map nat string ] */ ; + DIP { DUP + /* [ pair nat nat : pair nat nat : map nat string ] */ ; + DIP { CAR + /* [ nat : map nat string ] */ ; + DIP { NONE string /* [ option string : map nat string ] */ } + /* [ nat : option string : map nat string ] */ ; + UPDATE + /* [ map nat string ] */ } + /* [ pair nat nat : map nat string ] */ ; + DUP + /* [ pair nat nat : pair nat nat : map nat string ] */ ; + CAR + /* [ nat : pair nat nat : map nat string ] */ ; + PUSH nat 1 + /* [ nat : nat : pair nat nat : map nat string ] */ ; + ADD + /* [ nat : pair nat nat : map nat string ] */ ; + DIP { CDR /* [ nat : map nat string ] */ } + /* [ nat : nat : map nat string ] */ ; + PAIR + /* [ pair nat nat : map nat string ] */ ; + PAIR + /* [ pair (pair nat nat) (map nat string) ] */ } + /* [ option string : pair (pair nat nat) (map nat string) ] */ ; + PAIR + /* [ pair (option string) (pair nat nat) (map nat string) ] */ } } + { DIP { DUP + /* [ pair (option string) (option string) (pair nat nat) (map nat string) + : pair (option string) (option string) (pair nat nat) (map nat string) ] */ ; + CDDAR ; + DIP { CDDDR } + /* [ pair nat nat : map nat string ] */ ; + DUP + /* [ pair nat nat : pair nat nat : map nat string ] */ } + /* [ string : pair nat nat : pair nat nat : map nat string ] */ ; + SWAP + /* [ pair nat nat : string : pair nat nat : map nat string ] */ ; + CAR + /* [ nat : string : pair nat nat : map nat string ] */ ; + DIP { SOME + /* [ option string : pair nat nat : map nat string ] */ ; + SWAP + /* [ pair nat nat : option string : map nat string ] */ ; + CDR + /* [ nat : option string : map nat string ] */ ; + DUP + /* [ nat : nat : option string : map nat string ] */ ; + DIP { UPDATE /* [ map nat string ] */ } + /* [ nat : map nat string ] */ ; + PUSH nat 1 + /* [ nat : nat : map nat string ] */ ; + ADD + /* [ nat : map nat string ] */ } + /* [ nat : nat : map nat string ] */ ; + PAIR + /* [ pair nat nat : map nat string ] */ ; + PAIR + /* [ pair (pair nat nat) (map nat string) ] */ ; + NONE string + /* [ option string : pair (pair nat nat) (map nat string) ] */ ; + PAIR + /* [ pair (option string) (pair nat nat) (map nat string) ] */ } ; + NIL operation + /* [ list operation : pair (option string) (pair nat nat) (map nat string) ] */ ; + PAIR + /* [ pair (list operation) (option string) (pair nat nat) (map nat string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reduce_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reduce_map.out new file mode 100644 index 000000000000..2e4c3c9ef1f6 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reduce_map.out @@ -0,0 +1,56 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/reduce_map.tz --details +Well typed +Gas remaining: 1039978.486 units remaining +{ parameter (pair (lambda int int) (list int)) ; + storage (list int) ; + code { DIP { NIL int /* [ list int ] */ } + /* [ pair (pair (lambda int int) (list int)) (list int) : list int ] */ ; + CAR + /* [ pair (lambda int int) (list int) : list int ] */ ; + DUP + /* [ pair (lambda int int) (list int) : pair (lambda int int) (list int) + : list int ] */ ; + DIP { CAR + /* [ lambda int int : list int ] */ ; + PAIR + /* [ pair (lambda int int) (list int) ] */ } + /* [ pair (lambda int int) (list int) : pair (lambda int int) (list int) ] */ ; + CDR + /* [ list int : pair (lambda int int) (list int) ] */ ; + ITER { PAIR + /* [ pair int (lambda int int) (list int) ] */ ; + DUP + /* [ pair int (lambda int int) (list int) + : pair int (lambda int int) (list int) ] */ ; + CDAR ; + DIP { DUP + /* [ pair int (lambda int int) (list int) + : pair int (lambda int int) (list int) ] */ ; + DIP { CDAR } + /* [ pair int (lambda int int) (list int) : lambda int int ] */ ; + DUP + /* [ pair int (lambda int int) (list int) : pair int (lambda int int) (list int) + : lambda int int ] */ ; + CAR + /* [ int : pair int (lambda int int) (list int) : lambda int int ] */ ; + DIP { CDDR ; SWAP /* [ lambda int int : list int ] */ } + /* [ int : lambda int int : list int ] */ ; + EXEC + /* [ int : list int ] */ ; + CONS + /* [ list int ] */ } + /* [ lambda int int : list int ] */ ; + PAIR + /* [ pair (lambda int int) (list int) ] */ } + /* [ pair (lambda int int) (list int) ] */ ; + CDR + /* [ list int ] */ ; + DIP { NIL int /* [ list int ] */ } + /* [ list int : list int ] */ ; + ITER { CONS /* [ list int ] */ } + /* [ list int ] */ ; + NIL operation + /* [ list operation : list int ] */ ; + PAIR + /* [ pair (list operation) (list int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reentrancy.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reentrancy.out new file mode 100644 index 000000000000..2b8de308b4cc --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reentrancy.out @@ -0,0 +1,43 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/reentrancy.tz --details +Well typed +Gas remaining: 1039983.352 units remaining +{ parameter unit ; + storage (pair address address) ; + code { CDR + /* [ pair address address ] */ ; + DUP + /* [ pair address address : pair address address ] */ ; + CAR + /* [ address : pair address address ] */ ; + CONTRACT unit + /* [ option (contract unit) : pair address address ] */ ; + ASSERT_SOME ; + PUSH mutez 5000000 + /* [ mutez : contract unit : pair address address ] */ ; + UNIT + /* [ unit : mutez : contract unit : pair address address ] */ ; + TRANSFER_TOKENS + /* [ operation : pair address address ] */ ; + DIP { DUP + /* [ pair address address : pair address address ] */ ; + CDR + /* [ address : pair address address ] */ ; + CONTRACT unit + /* [ option (contract unit) : pair address address ] */ ; + ASSERT_SOME ; + PUSH mutez 5000000 + /* [ mutez : contract unit : pair address address ] */ ; + UNIT + /* [ unit : mutez : contract unit : pair address address ] */ ; + TRANSFER_TOKENS + /* [ operation : pair address address ] */ } + /* [ operation : operation : pair address address ] */ ; + DIIP { NIL operation /* [ list operation : pair address address ] */ } + /* [ operation : operation : list operation : pair address address ] */ ; + DIP { CONS /* [ list operation : pair address address ] */ } + /* [ operation : list operation : pair address address ] */ ; + CONS + /* [ list operation : pair address address ] */ ; + PAIR + /* [ pair (list operation) address address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reservoir.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reservoir.out new file mode 100644 index 000000000000..ba37368d6f3b --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-reservoir.out @@ -0,0 +1,78 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/reservoir.tz --details +Well typed +Gas remaining: 1039969.237 units remaining +{ parameter unit ; + storage (pair (pair (timestamp %T) (mutez %N)) (pair (address %A) (address %B))) ; + code { CDR + /* [ pair (pair timestamp mutez) address address ] */ ; + DUP + /* [ pair (pair timestamp mutez) address address + : pair (pair timestamp mutez) address address ] */ ; + CAAR %T ; + NOW + /* [ timestamp : timestamp : pair (pair timestamp mutez) address address ] */ ; + COMPARE + /* [ int : pair (pair timestamp mutez) address address ] */ ; + LE + /* [ bool : pair (pair timestamp mutez) address address ] */ ; + IF { DUP + /* [ pair (pair timestamp mutez) address address + : pair (pair timestamp mutez) address address ] */ ; + CADR %N ; + BALANCE + /* [ mutez : mutez : pair (pair timestamp mutez) address address ] */ ; + COMPARE + /* [ int : pair (pair timestamp mutez) address address ] */ ; + LE + /* [ bool : pair (pair timestamp mutez) address address ] */ ; + IF { NIL operation + /* [ list operation : pair (pair timestamp mutez) address address ] */ ; + PAIR + /* [ pair (list operation) (pair timestamp mutez) address address ] */ } + { DUP + /* [ pair (pair timestamp mutez) address address + : pair (pair timestamp mutez) address address ] */ ; + CDDR %B ; + CONTRACT + unit + /* [ option (contract unit) : pair (pair timestamp mutez) address address ] */ ; + ASSERT_SOME ; + BALANCE + /* [ mutez : contract unit : pair (pair timestamp mutez) address address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair (pair timestamp mutez) address address ] */ ; + TRANSFER_TOKENS + /* [ operation : pair (pair timestamp mutez) address address ] */ ; + NIL operation + /* [ list operation : operation : pair (pair timestamp mutez) address address ] */ ; + SWAP + /* [ operation : list operation : pair (pair timestamp mutez) address address ] */ ; + CONS + /* [ list operation : pair (pair timestamp mutez) address address ] */ ; + PAIR + /* [ pair (list operation) (pair timestamp mutez) address address ] */ } } + { DUP + /* [ pair (pair timestamp mutez) address address + : pair (pair timestamp mutez) address address ] */ ; + CDAR %A ; + CONTRACT + unit + /* [ option (contract unit) : pair (pair timestamp mutez) address address ] */ ; + ASSERT_SOME ; + BALANCE + /* [ mutez : contract unit : pair (pair timestamp mutez) address address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair (pair timestamp mutez) address address ] */ ; + TRANSFER_TOKENS + /* [ operation : pair (pair timestamp mutez) address address ] */ ; + NIL operation + /* [ list operation : operation : pair (pair timestamp mutez) address address ] */ ; + SWAP + /* [ operation : list operation : pair (pair timestamp mutez) address address ] */ ; + CONS + /* [ list operation : pair (pair timestamp mutez) address address ] */ ; + PAIR + /* [ pair (list operation) (pair timestamp mutez) address address ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-scrutable_reservoir.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-scrutable_reservoir.out new file mode 100644 index 000000000000..75050c378c47 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-scrutable_reservoir.out @@ -0,0 +1,247 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/scrutable_reservoir.tz --details +Well typed +Gas remaining: 1039889.171 units remaining +{ parameter unit ; + storage + (pair string + (pair timestamp (pair (pair mutez mutez) (pair address (pair address address))))) ; + code { DUP + /* [ pair unit string timestamp (pair mutez mutez) address address address + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + CDAR ; + PUSH string + "open" + /* [ string : string + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + COMPARE + /* [ int + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + NEQ + /* [ bool + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + IF { FAIL } + { DUP + /* [ pair unit string timestamp (pair mutez mutez) address address address + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + CDDAR ; + NOW + /* [ timestamp : timestamp + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + COMPARE + /* [ int + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + LT + /* [ bool + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + IF { PUSH mutez + 0 + /* [ mutez + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + DIP { DUP + /* [ pair unit string timestamp (pair mutez mutez) address address address + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + CDDDAAR } + /* [ mutez : mutez + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + ADD + /* [ mutez + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + DIP { DUP + /* [ pair unit string timestamp (pair mutez mutez) address address address + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + CDDDADR } + /* [ mutez : mutez + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + ADD + /* [ mutez + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + BALANCE + /* [ mutez : mutez + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + COMPARE + /* [ int + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + LT + /* [ bool + : pair unit string timestamp (pair mutez mutez) address address address ] */ ; + IF { CDR + /* [ pair string timestamp (pair mutez mutez) address address address ] */ ; + NIL operation + /* [ list operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + PAIR + /* [ pair (list operation) string timestamp (pair mutez mutez) address address address ] */ } + { CDDR ; + PUSH string + "success" + /* [ string : pair timestamp (pair mutez mutez) address address address ] */ ; + PAIR + /* [ pair string timestamp (pair mutez mutez) address address address ] */ ; + DUP + /* [ pair string timestamp (pair mutez mutez) address address address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CDDAAR ; + DIP { DUP + /* [ pair string timestamp (pair mutez mutez) address address address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CDDDAR } + /* [ mutez : address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair string timestamp (pair mutez mutez) address address address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + DIP { DUP + /* [ pair string timestamp (pair mutez mutez) address address address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CDDADR ; + DIP { DUP + /* [ pair string timestamp (pair mutez mutez) address address address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CDDDDAR } + /* [ mutez : address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair string timestamp (pair mutez mutez) address address address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair string timestamp (pair mutez mutez) address address address ] */ } + /* [ operation : operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + NIL operation + /* [ list operation : operation : operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + SWAP + /* [ operation : list operation : operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CONS + /* [ list operation : operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + SWAP + /* [ operation : list operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CONS + /* [ list operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + PAIR + /* [ pair (list operation) string timestamp (pair mutez mutez) address address address ] */ } } + { CDDR ; + PUSH string + "timeout" + /* [ string : pair timestamp (pair mutez mutez) address address address ] */ ; + PAIR + /* [ pair string timestamp (pair mutez mutez) address address address ] */ ; + BALANCE + /* [ mutez : pair string timestamp (pair mutez mutez) address address address ] */ ; + DIP { DUP + /* [ pair string timestamp (pair mutez mutez) address address address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CDDAAR } + /* [ mutez : mutez + : pair string timestamp (pair mutez mutez) address address address ] */ ; + COMPARE + /* [ int : pair string timestamp (pair mutez mutez) address address address ] */ ; + LT + /* [ bool : pair string timestamp (pair mutez mutez) address address address ] */ ; + IF { BALANCE + /* [ mutez : pair string timestamp (pair mutez mutez) address address address ] */ ; + DIP { DUP + /* [ pair string timestamp (pair mutez mutez) address address address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CDDDAR } + /* [ mutez : address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair string timestamp (pair mutez mutez) address address address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair string timestamp (pair mutez mutez) address address address ] */ } + { DUP + /* [ pair string timestamp (pair mutez mutez) address address address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CDDAAR ; + DIP { DUP + /* [ pair string timestamp (pair mutez mutez) address address address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CDDDAR } + /* [ mutez : address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair string timestamp (pair mutez mutez) address address address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair string timestamp (pair mutez mutez) address address address ] */ } ; + DIP { BALANCE + /* [ mutez : pair string timestamp (pair mutez mutez) address address address ] */ ; + DIP { DUP + /* [ pair string timestamp (pair mutez mutez) address address address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CDDDDDR } + /* [ mutez : address + : pair string timestamp (pair mutez mutez) address address address ] */ ; + DIP { CONTRACT + unit + /* [ option (contract unit) + : pair string timestamp (pair mutez mutez) address address address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + UNIT + /* [ unit : mutez : contract unit + : pair string timestamp (pair mutez mutez) address address address ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair string timestamp (pair mutez mutez) address address address ] */ } + /* [ operation : operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + NIL operation + /* [ list operation : operation : operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + SWAP + /* [ operation : list operation : operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CONS + /* [ list operation : operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + SWAP + /* [ operation : list operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + CONS + /* [ list operation + : pair string timestamp (pair mutez mutez) address address address ] */ ; + PAIR + /* [ pair (list operation) string timestamp (pair mutez mutez) address address address ] */ } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-spawn_identities.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-spawn_identities.out new file mode 100644 index 000000000000..d8ba9ebbacfd --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc attic-spawn_identities.out @@ -0,0 +1,61 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/attic/spawn_identities.tz --details +Well typed +Gas remaining: 1039976.440 units remaining +{ parameter nat ; + storage (list address) ; + code { /* [ pair string string ] */ + DUP + /* [ list operation : string ] */ ; + CAR + /* [ nat : pair nat (list address) ] */ ; + DIP { CDR /* [ list address ] */ ; NIL operation /* [ list operation : list address ] */ } + /* [ pair (list operation) string ] */ ; + PUSH bool True + /* [ bool : nat : list operation : list address ] */ ; + LOOP { DUP + /* [ nat : nat : list operation : list address ] */ ; + PUSH nat 0 + /* [ nat : nat : nat : list operation : list address ] */ ; + CMPEQ ; + IF { PUSH bool False /* [ bool : nat : list operation : list address ] */ } + { PUSH nat 1 + /* [ nat : nat : list operation : list address ] */ ; + SWAP + /* [ nat : nat : list operation : list address ] */ ; + SUB + /* [ int : list operation : list address ] */ ; + ABS + /* [ nat : list operation : list address ] */ ; + PUSH string "init" + /* [ string : nat : list operation : list address ] */ ; + PUSH mutez 5000000 + /* [ mutez : string : nat : list operation : list address ] */ ; + NONE key_hash + /* [ option key_hash : mutez : string : nat : list operation : list address ] */ ; + CREATE_CONTRACT + { parameter string ; + storage string ; + code { CAR ; NIL operation ; PAIR } } + /* [ operation : address : nat : list operation : list address ] */ ; + SWAP + /* [ address : operation : nat : list operation : list address ] */ ; + DIP { SWAP + /* [ nat : operation : list operation : list address ] */ ; + DIP { CONS /* [ list operation : list address ] */ } + /* [ nat : list operation : list address ] */ } + /* [ address : nat : list operation : list address ] */ ; + SWAP + /* [ nat : address : list operation : list address ] */ ; + DIP { SWAP + /* [ list operation : address : list address ] */ ; + DIP { CONS /* [ list address ] */ } + /* [ list operation : list address ] */ } + /* [ nat : list operation : list address ] */ ; + PUSH bool True + /* [ bool : nat : list operation : list address ] */ } } + /* [ nat : list operation : list address ] */ ; + DROP + /* [ list operation : list address ] */ ; + PAIR + /* [ pair (list operation) (list address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-big_map_entrypoints.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-big_map_entrypoints.out new file mode 100644 index 000000000000..8c9608ce0390 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-big_map_entrypoints.out @@ -0,0 +1,120 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/entrypoints/big_map_entrypoints.tz --details +Well typed +Gas remaining: 1039953.156 units remaining +{ storage (pair (big_map string nat) (big_map string nat)) ; + parameter + (or (unit %default + /* [ list operation : big_map string nat ] */) + (or (or %mem + (string %mem_left) + (string %mem_right) + /* [ pair (list operation) (big_map string nat) ] */) + (or (or %add (pair %add_left string nat) (pair %add_right string nat)) + (or %rem (string %rem_left) (string %rem_right)))) + /* [ big_map string nat ] */) + /* [ string : big_map string nat ] */ ; + code { UNPAIR + /* [ or unit + (or (or string string) (or (or (pair string nat) (pair string nat)) (or string string))) + : pair (big_map string nat) (big_map string nat) ] */ ; + IF_LEFT + { DROP + /* [ pair (big_map string nat) (big_map string nat) ] */ ; + DUP + /* [ pair (big_map string nat) (big_map string nat) + : pair (big_map string nat) (big_map string nat) ] */ ; + CAR + /* [ big_map string nat : pair (big_map string nat) (big_map string nat) ] */ ; + PUSH mutez + 0 + /* [ mutez : big_map string nat + : pair (big_map string nat) (big_map string nat) ] */ ; + NONE key_hash + /* [ option key_hash : mutez : big_map string nat + : pair (big_map string nat) (big_map string nat) ] */ ; + CREATE_CONTRACT + { parameter string ; + storage (big_map string nat) ; + code { UNPAIR ; DROP ; NIL operation ; PAIR } } + /* [ operation : address : pair (big_map string nat) (big_map string nat) ] */ ; + DIP { DROP /* [ pair (big_map string nat) (big_map string nat) ] */ } + /* [ operation : pair (big_map string nat) (big_map string nat) ] */ ; + NIL operation + /* [ list operation : operation + : pair (big_map string nat) (big_map string nat) ] */ ; + SWAP + /* [ operation : list operation + : pair (big_map string nat) (big_map string nat) ] */ ; + CONS + /* [ list operation : pair (big_map string nat) (big_map string nat) ] */ ; + PAIR + /* [ pair (list operation) (big_map string nat) (big_map string nat) ] */ } + { IF_LEFT + { IF_LEFT + { DIP { UNPAIR /* [ big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat ] */ ; + DIP { DUP /* [ big_map string nat : big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat : big_map string nat ] */ ; + MEM + /* [ bool : big_map string nat : big_map string nat ] */ ; + ASSERT } + { DIP { UNPAIR + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat ] */ ; + DIP { DUP /* [ big_map string nat : big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat : big_map string nat ] */ ; + MEM + /* [ bool : big_map string nat : big_map string nat ] */ ; + ASSERT ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } } + { IF_LEFT + { IF_LEFT + { UNPAIR + /* [ string : nat : pair (big_map string nat) (big_map string nat) ] */ ; + DIIP { UNPAIR /* [ big_map string nat : big_map string nat ] */ } + /* [ string : nat : big_map string nat : big_map string nat ] */ ; + DIP { SOME /* [ option nat : big_map string nat : big_map string nat ] */ } + /* [ string : option nat : big_map string nat : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat : big_map string nat ] */ } + { UNPAIR + /* [ string : nat : pair (big_map string nat) (big_map string nat) ] */ ; + DIIP { UNPAIR + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } + /* [ string : nat : big_map string nat : big_map string nat ] */ ; + DIP { SOME /* [ option nat : big_map string nat : big_map string nat ] */ } + /* [ string : option nat : big_map string nat : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } } + { IF_LEFT + { DIP { UNPAIR /* [ big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat ] */ ; + DIP { NONE nat /* [ option nat : big_map string nat : big_map string nat ] */ } + /* [ string : option nat : big_map string nat : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat : big_map string nat ] */ } + { DIP { UNPAIR + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat ] */ ; + DIP { NONE nat /* [ option nat : big_map string nat : big_map string nat ] */ } + /* [ string : option nat : big_map string nat : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } } } ; + PAIR + /* [ pair (big_map string nat) (big_map string nat) ] */ ; + NIL operation + /* [ list operation : pair (big_map string nat) (big_map string nat) ] */ ; + PAIR + /* [ pair (list operation) (big_map string nat) (big_map string nat) ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-delegatable_target.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-delegatable_target.out new file mode 100644 index 000000000000..cf2b8b8f552f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-delegatable_target.out @@ -0,0 +1,119 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/entrypoints/delegatable_target.tz --details +Well typed +Gas remaining: 1039960.927 units remaining +{ parameter + (or (or (key_hash %set_delegate) (unit %remove_delegate)) (or %default string nat)) ; + storage (pair key_hash (pair string nat)) ; + code { DUP + /* [ pair (or (or key_hash unit) (or string nat)) key_hash string nat + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + CAR + /* [ or (or key_hash unit) (or string nat) + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + IF_LEFT + { PUSH mutez + 0 + /* [ mutez : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + AMOUNT + /* [ mutez : mutez : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + ASSERT_CMPEQ ; + DUUP + /* [ pair (or (or key_hash unit) (or string nat)) key_hash string nat + : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + CDR + /* [ pair key_hash string nat : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + CAR + /* [ key_hash : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + ADDRESS + /* [ address : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + SENDER + /* [ address : address : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + IFCMPNEQ + { SENDER + /* [ address : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + PUSH string + "Only the owner can operate." + /* [ string : address : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + PAIR + /* [ pair string address : or key_hash unit + : pair (or (or key_hash unit) (or string nat)) key_hash string nat ] */ ; + FAILWITH + /* [] */ } + { DIP { CDR + /* [ pair key_hash string nat ] */ ; + NIL operation + /* [ list operation : pair key_hash string nat ] */ } + /* [ or key_hash unit : list operation : pair key_hash string nat ] */ ; + IF_LEFT + { SOME + /* [ option key_hash : list operation : pair key_hash string nat ] */ ; + SET_DELEGATE + /* [ operation : list operation : pair key_hash string nat ] */ ; + CONS + /* [ list operation : pair key_hash string nat ] */ ; + PAIR + /* [ pair (list operation) key_hash string nat ] */ } + { DROP + /* [ list operation : pair key_hash string nat ] */ ; + NONE key_hash + /* [ option key_hash : list operation : pair key_hash string nat ] */ ; + SET_DELEGATE + /* [ operation : list operation : pair key_hash string nat ] */ ; + CONS + /* [ list operation : pair key_hash string nat ] */ ; + PAIR + /* [ pair (list operation) key_hash string nat ] */ } } } + { DIP { CDR + /* [ pair key_hash string nat ] */ ; + DUP + /* [ pair key_hash string nat : pair key_hash string nat ] */ ; + CDR + /* [ pair string nat : pair key_hash string nat ] */ } + /* [ or string nat : pair string nat : pair key_hash string nat ] */ ; + PAIR + /* [ pair (or string nat) string nat : pair key_hash string nat ] */ ; + { UNPAIR + /* [ or string nat : pair string nat : pair key_hash string nat ] */ ; + IF_LEFT + { DIP { UNPAIR + /* [ string : nat : pair key_hash string nat ] */ ; + DROP + /* [ nat : pair key_hash string nat ] */ } + /* [ string : nat : pair key_hash string nat ] */ } + { DUG 1 + /* [ pair string nat : nat : pair key_hash string nat ] */ ; + UNPAIR + /* [ string : nat : nat : pair key_hash string nat ] */ ; + DIP { DROP /* [ nat : pair key_hash string nat ] */ } + /* [ string : nat : pair key_hash string nat ] */ } ; + PAIR + /* [ pair string nat : pair key_hash string nat ] */ ; + NIL operation + /* [ list operation : pair string nat : pair key_hash string nat ] */ ; + PAIR + /* [ pair (list operation) string nat : pair key_hash string nat ] */ } ; + SWAP + /* [ pair key_hash string nat : pair (list operation) string nat ] */ ; + CAR + /* [ key_hash : pair (list operation) string nat ] */ ; + SWAP + /* [ pair (list operation) string nat : key_hash ] */ ; + UNPAIR + /* [ list operation : pair string nat : key_hash ] */ ; + DIP { SWAP /* [ key_hash : pair string nat ] */ ; PAIR /* [ pair key_hash string nat ] */ } + /* [ list operation : pair key_hash string nat ] */ ; + PAIR + /* [ pair (list operation) key_hash string nat ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-manager.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-manager.out new file mode 100644 index 000000000000..793718dc92a4 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-manager.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/entrypoints/manager.tz --details +Well typed +Gas remaining: 1039984.397 units remaining +{ parameter (or (lambda %do unit (list operation)) (unit %default)) ; + storage key_hash ; + code { UNPAIR + /* [ or (lambda unit (list operation)) unit : key_hash ] */ ; + IF_LEFT + { PUSH mutez 0 + /* [ mutez : lambda unit (list operation) : key_hash ] */ ; + AMOUNT + /* [ mutez : mutez : lambda unit (list operation) : key_hash ] */ ; + ASSERT_CMPEQ ; + DUUP + /* [ key_hash : lambda unit (list operation) : key_hash ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit : lambda unit (list operation) : key_hash ] */ ; + ADDRESS + /* [ address : lambda unit (list operation) : key_hash ] */ ; + SENDER + /* [ address : address : lambda unit (list operation) : key_hash ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit : lambda unit (list operation) : key_hash ] */ ; + EXEC + /* [ list operation : key_hash ] */ ; + PAIR + /* [ pair (list operation) key_hash ] */ } + { DROP + /* [ key_hash ] */ ; + NIL operation + /* [ list operation : key_hash ] */ ; + PAIR + /* [ pair (list operation) key_hash ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-no_default_target.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-no_default_target.out new file mode 100644 index 000000000000..a41eb862c658 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-no_default_target.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/entrypoints/no_default_target.tz --details +Well typed +Gas remaining: 1039990.140 units remaining +{ storage (pair string nat) ; + parameter (or unit (or %data string nat)) ; + code { UNPAIR + /* [ or unit (or string nat) : pair string nat ] */ ; + IF_LEFT + { DROP + /* [ pair string nat ] */ ; + NIL operation + /* [ list operation : pair string nat ] */ ; + PAIR + /* [ pair (list operation) string nat ] */ } + { IF_LEFT + { DIP { UNPAIR /* [ string : nat ] */ ; DROP /* [ nat ] */ } /* [ string : nat ] */ } + { DUG 1 + /* [ pair string nat : nat ] */ ; + UNPAIR + /* [ string : nat : nat ] */ ; + DIP { DROP /* [ nat ] */ } + /* [ string : nat ] */ } ; + PAIR + /* [ pair string nat ] */ ; + NIL operation + /* [ list operation : pair string nat ] */ ; + PAIR + /* [ pair (list operation) string nat ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-no_entrypoint_target.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-no_entrypoint_target.out new file mode 100644 index 000000000000..25be97a8fc6b --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-no_entrypoint_target.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/entrypoints/no_entrypoint_target.tz --details +Well typed +Gas remaining: 1039990.140 units remaining +{ storage (pair string nat) ; + parameter (or unit (or string nat)) ; + code { UNPAIR + /* [ or unit (or string nat) : pair string nat ] */ ; + IF_LEFT + { DROP + /* [ pair string nat ] */ ; + NIL operation + /* [ list operation : pair string nat ] */ ; + PAIR + /* [ pair (list operation) string nat ] */ } + { IF_LEFT + { DIP { UNPAIR /* [ string : nat ] */ ; DROP /* [ nat ] */ } /* [ string : nat ] */ } + { DUG 1 + /* [ pair string nat : nat ] */ ; + UNPAIR + /* [ string : nat : nat ] */ ; + DIP { DROP /* [ nat ] */ } + /* [ string : nat ] */ } ; + PAIR + /* [ pair string nat ] */ ; + NIL operation + /* [ list operation : pair string nat ] */ ; + PAIR + /* [ pair (list operation) string nat ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-rooted_target.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-rooted_target.out new file mode 100644 index 000000000000..25360bba902f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-rooted_target.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/entrypoints/rooted_target.tz --details +Well typed +Gas remaining: 1039990.140 units remaining +{ storage (pair string nat) ; + parameter (or %root unit (or %default string nat)) ; + code { UNPAIR + /* [ or unit (or string nat) : pair string nat ] */ ; + IF_LEFT + { DROP + /* [ pair string nat ] */ ; + NIL operation + /* [ list operation : pair string nat ] */ ; + PAIR + /* [ pair (list operation) string nat ] */ } + { IF_LEFT + { DIP { UNPAIR /* [ string : nat ] */ ; DROP /* [ nat ] */ } /* [ string : nat ] */ } + { DUG 1 + /* [ pair string nat : nat ] */ ; + UNPAIR + /* [ string : nat : nat ] */ ; + DIP { DROP /* [ nat ] */ } + /* [ string : nat ] */ } ; + PAIR + /* [ pair string nat ] */ ; + NIL operation + /* [ list operation : pair string nat ] */ ; + PAIR + /* [ pair (list operation) string nat ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-simple_entrypoints.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-simple_entrypoints.out new file mode 100644 index 000000000000..51ecae34e0d0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc entrypoints-simple_entrypoints.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/entrypoints/simple_entrypoints.tz --details +Well typed +Gas remaining: 1039997.574 units remaining +{ parameter (or (unit %A) (or (string %B) (nat %C))) ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert.out new file mode 100644 index 000000000000..fe7a87699a88 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert.out @@ -0,0 +1,15 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert.tz --details +Well typed +Gas remaining: 1039995.213 units remaining +{ parameter bool ; + storage unit ; + code { CAR + /* [ bool ] */ ; + ASSERT ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpeq.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpeq.out new file mode 100644 index 000000000000..e3cfc3e8656b --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpeq.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_cmpeq.tz --details +Well typed +Gas remaining: 1039991.596 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpge.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpge.out new file mode 100644 index 000000000000..c20290237f41 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpge.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_cmpge.tz --details +Well typed +Gas remaining: 1039991.596 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + ASSERT_CMPGE ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpgt.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpgt.out new file mode 100644 index 000000000000..5c36eca9b029 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpgt.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_cmpgt.tz --details +Well typed +Gas remaining: 1039991.596 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + ASSERT_CMPGT ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmple.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmple.out new file mode 100644 index 000000000000..58e7b825b858 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmple.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_cmple.tz --details +Well typed +Gas remaining: 1039991.596 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + ASSERT_CMPLE ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmplt.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmplt.out new file mode 100644 index 000000000000..5933745028fe --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmplt.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_cmplt.tz --details +Well typed +Gas remaining: 1039991.596 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + ASSERT_CMPLT ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpneq.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpneq.out new file mode 100644 index 000000000000..6664bf87a1e5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_cmpneq.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_cmpneq.tz --details +Well typed +Gas remaining: 1039991.596 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + ASSERT_CMPNEQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_eq.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_eq.out new file mode 100644 index 000000000000..de5a920a2eff --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_eq.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_eq.tz --details +Well typed +Gas remaining: 1039991.843 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_ge.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_ge.out new file mode 100644 index 000000000000..9478c7cb5022 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_ge.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_ge.tz --details +Well typed +Gas remaining: 1039991.843 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GE ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_gt.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_gt.out new file mode 100644 index 000000000000..0f7857e5d9cd --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_gt.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_gt.tz --details +Well typed +Gas remaining: 1039991.843 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_le.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_le.out new file mode 100644 index 000000000000..72dcbb949365 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_le.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_le.tz --details +Well typed +Gas remaining: 1039991.843 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LE ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_lt.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_lt.out new file mode 100644 index 000000000000..72a54f48fa8d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_lt.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_lt.tz --details +Well typed +Gas remaining: 1039991.843 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LT ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_neq.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_neq.out new file mode 100644 index 000000000000..89a8cb43a34f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-assert_neq.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/assert_neq.tz --details +Well typed +Gas remaining: 1039991.843 units remaining +{ parameter (pair int int) ; + storage unit ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_NEQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-big_map_get_add.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-big_map_get_add.out new file mode 100644 index 000000000000..a9c5c51acd21 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-big_map_get_add.out @@ -0,0 +1,55 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/big_map_get_add.tz --details +Well typed +Gas remaining: 1039971.186 units remaining +{ parameter (pair (pair %set_pair int (option int)) (pair %check_pair int (option int))) ; + storage (pair (big_map int int) unit) ; + code { DUP + /* [ pair (pair (pair int (option int)) int (option int)) (big_map int int) unit + : pair (pair (pair int (option int)) int (option int)) (big_map int int) unit ] */ ; + DIP { CDAR } + /* [ pair (pair (pair int (option int)) int (option int)) (big_map int int) unit + : big_map int int ] */ ; + DUP + /* [ pair (pair (pair int (option int)) int (option int)) (big_map int int) unit + : pair (pair (pair int (option int)) int (option int)) (big_map int int) unit + : big_map int int ] */ ; + DIP { CADR ; + DUP + /* [ pair int (option int) : pair int (option int) : big_map int int ] */ ; + CAR + /* [ int : pair int (option int) : big_map int int ] */ ; + DIP { CDR /* [ option int : big_map int int ] */ } + /* [ int : option int : big_map int int ] */ ; + UPDATE + /* [ big_map int int ] */ ; + DUP + /* [ big_map int int : big_map int int ] */ } + /* [ pair (pair (pair int (option int)) int (option int)) (big_map int int) unit + : big_map int int : big_map int int ] */ ; + CADR ; + DUP + /* [ pair int (option int) : pair int (option int) : big_map int int + : big_map int int ] */ ; + CDR + /* [ option int : pair int (option int) : big_map int int : big_map int int ] */ ; + DIP { CAR + /* [ int : big_map int int : big_map int int ] */ ; + GET + /* [ option int : big_map int int ] */ } + /* [ option int : option int : big_map int int ] */ ; + IF_SOME + { SWAP + /* [ option int : int : big_map int int ] */ ; + IF_SOME { ASSERT_CMPEQ } { FAIL } } + { ASSERT_NONE } ; + UNIT + /* [ unit : big_map int int ] */ ; + SWAP + /* [ big_map int int : unit ] */ ; + PAIR + /* [ pair (big_map int int) unit ] */ ; + NIL operation + /* [ list operation : pair (big_map int int) unit ] */ ; + PAIR + /* [ pair (list operation) (big_map int int) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-big_map_mem.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-big_map_mem.out new file mode 100644 index 000000000000..8be1b83464b0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-big_map_mem.out @@ -0,0 +1,31 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/big_map_mem.tz --details +Well typed +Gas remaining: 1039984.191 units remaining +{ parameter (pair int bool) ; + storage (pair (big_map int unit) unit) ; + code { DUP + /* [ pair (pair int bool) (big_map int unit) unit + : pair (pair int bool) (big_map int unit) unit ] */ ; + DUP + /* [ pair (pair int bool) (big_map int unit) unit + : pair (pair int bool) (big_map int unit) unit + : pair (pair int bool) (big_map int unit) unit ] */ ; + CADR ; + DIP { CAAR ; + DIP { CDAR ; DUP /* [ big_map int unit : big_map int unit ] */ } + /* [ int : big_map int unit : big_map int unit ] */ ; + MEM + /* [ bool : big_map int unit ] */ } + /* [ bool : bool : big_map int unit ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit : big_map int unit ] */ ; + SWAP + /* [ big_map int unit : unit ] */ ; + PAIR + /* [ pair (big_map int unit) unit ] */ ; + NIL operation + /* [ list operation : pair (big_map int unit) unit ] */ ; + PAIR + /* [ pair (list operation) (big_map int unit) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-build_list.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-build_list.out new file mode 100644 index 000000000000..1aa6e750ec95 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-build_list.out @@ -0,0 +1,45 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/build_list.tz --details +Well typed +Gas remaining: 1039985.111 units remaining +{ parameter nat ; + storage (list nat) ; + code { CAR @counter + /* [ nat ] */ ; + NIL @acc nat + /* [ list nat : nat ] */ ; + SWAP + /* [ nat : list nat ] */ ; + DUP @cmp_num + /* [ nat : nat : list nat ] */ ; + PUSH nat 0 + /* [ nat : nat : nat : list nat ] */ ; + CMPNEQ ; + LOOP { DUP + /* [ nat : nat : list nat ] */ ; + DIP { SWAP /* [ list nat : nat ] */ } + /* [ nat : list nat : nat ] */ ; + CONS @acc + /* [ list nat : nat ] */ ; + SWAP + /* [ nat : list nat ] */ ; + PUSH nat 1 + /* [ nat : nat : list nat ] */ ; + SWAP + /* [ nat : nat : list nat ] */ ; + SUB @counter + /* [ int : list nat ] */ ; + DUP + /* [ int : int : list nat ] */ ; + DIP { ABS /* [ nat : list nat ] */ } + /* [ int : nat : list nat ] */ ; + PUSH int 0 + /* [ int : int : nat : list nat ] */ ; + CMPNEQ } + /* [ nat : list nat ] */ ; + CONS + /* [ list nat ] */ ; + NIL operation + /* [ list operation : list nat ] */ ; + PAIR + /* [ pair (list operation) (list nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-carn_and_cdrn.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-carn_and_cdrn.out new file mode 100644 index 000000000000..5706dfc8df7a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-carn_and_cdrn.out @@ -0,0 +1,47 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/carn_and_cdrn.tz --details +Well typed +Gas remaining: 1039965.224 units remaining +{ parameter (pair nat nat nat unit) ; + storage unit ; + code { CAR + /* [ pair nat nat nat unit ] */ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + CAR + /* [ nat : pair nat nat nat unit ] */ ; + PUSH nat 1 + /* [ nat : nat : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + CAR 0 ; + PUSH nat 1 + /* [ nat : nat : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + CAR 1 ; + PUSH nat 4 + /* [ nat : nat : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + CAR 2 ; + PUSH nat 2 + /* [ nat : nat : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + CDR 3 ; + UNIT + /* [ unit : unit : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-compare.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-compare.out new file mode 100644 index 000000000000..9cec750dc8bd --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-compare.out @@ -0,0 +1,92 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/compare.tz --details +Well typed +Gas remaining: 1039971.322 units remaining +{ parameter (pair mutez mutez) ; + storage (list bool) ; + code { CAR + /* [ pair mutez mutez ] */ ; + DUP + /* [ pair mutez mutez : pair mutez mutez ] */ ; + DUP + /* [ pair mutez mutez : pair mutez mutez : pair mutez mutez ] */ ; + DUP + /* [ pair mutez mutez : pair mutez mutez : pair mutez mutez : pair mutez mutez ] */ ; + DUP + /* [ pair mutez mutez : pair mutez mutez : pair mutez mutez : pair mutez mutez + : pair mutez mutez ] */ ; + DIIIIIP + { NIL bool /* [ list bool ] */ } + /* [ pair mutez mutez : pair mutez mutez : pair mutez mutez : pair mutez mutez + : pair mutez mutez : list bool ] */ ; + DIIIIP + { DUP + /* [ pair mutez mutez : pair mutez mutez : list bool ] */ ; + CAR + /* [ mutez : pair mutez mutez : list bool ] */ ; + DIP { CDR /* [ mutez : list bool ] */ } + /* [ mutez : mutez : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + LE + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ } + /* [ pair mutez mutez : pair mutez mutez : pair mutez mutez : pair mutez mutez + : list bool ] */ ; + DIIIP + { DUP + /* [ pair mutez mutez : pair mutez mutez : list bool ] */ ; + CAR + /* [ mutez : pair mutez mutez : list bool ] */ ; + DIP { CDR /* [ mutez : list bool ] */ } + /* [ mutez : mutez : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + GE + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ } + /* [ pair mutez mutez : pair mutez mutez : pair mutez mutez : list bool ] */ ; + DIIP { DUP + /* [ pair mutez mutez : pair mutez mutez : list bool ] */ ; + CAR + /* [ mutez : pair mutez mutez : list bool ] */ ; + DIP { CDR /* [ mutez : list bool ] */ } + /* [ mutez : mutez : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + LT + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ } + /* [ pair mutez mutez : pair mutez mutez : list bool ] */ ; + DIP { DUP + /* [ pair mutez mutez : pair mutez mutez : list bool ] */ ; + CAR + /* [ mutez : pair mutez mutez : list bool ] */ ; + DIP { CDR /* [ mutez : list bool ] */ } + /* [ mutez : mutez : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + GT + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ } + /* [ pair mutez mutez : list bool ] */ ; + DUP + /* [ pair mutez mutez : pair mutez mutez : list bool ] */ ; + CAR + /* [ mutez : pair mutez mutez : list bool ] */ ; + DIP { CDR /* [ mutez : list bool ] */ } + /* [ mutez : mutez : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + EQ + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ ; + NIL operation + /* [ list operation : list bool ] */ ; + PAIR + /* [ pair (list operation) (list bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-compare_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-compare_bytes.out new file mode 100644 index 000000000000..d4b4c4fc79c5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-compare_bytes.out @@ -0,0 +1,92 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/compare_bytes.tz --details +Well typed +Gas remaining: 1039971.322 units remaining +{ parameter (pair bytes bytes) ; + storage (list bool) ; + code { CAR + /* [ pair bytes bytes ] */ ; + DUP + /* [ pair bytes bytes : pair bytes bytes ] */ ; + DUP + /* [ pair bytes bytes : pair bytes bytes : pair bytes bytes ] */ ; + DUP + /* [ pair bytes bytes : pair bytes bytes : pair bytes bytes : pair bytes bytes ] */ ; + DUP + /* [ pair bytes bytes : pair bytes bytes : pair bytes bytes : pair bytes bytes + : pair bytes bytes ] */ ; + DIIIIIP + { NIL bool /* [ list bool ] */ } + /* [ pair bytes bytes : pair bytes bytes : pair bytes bytes : pair bytes bytes + : pair bytes bytes : list bool ] */ ; + DIIIIP + { DUP + /* [ pair bytes bytes : pair bytes bytes : list bool ] */ ; + CAR + /* [ bytes : pair bytes bytes : list bool ] */ ; + DIP { CDR /* [ bytes : list bool ] */ } + /* [ bytes : bytes : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + LE + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ } + /* [ pair bytes bytes : pair bytes bytes : pair bytes bytes : pair bytes bytes + : list bool ] */ ; + DIIIP + { DUP + /* [ pair bytes bytes : pair bytes bytes : list bool ] */ ; + CAR + /* [ bytes : pair bytes bytes : list bool ] */ ; + DIP { CDR /* [ bytes : list bool ] */ } + /* [ bytes : bytes : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + GE + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ } + /* [ pair bytes bytes : pair bytes bytes : pair bytes bytes : list bool ] */ ; + DIIP { DUP + /* [ pair bytes bytes : pair bytes bytes : list bool ] */ ; + CAR + /* [ bytes : pair bytes bytes : list bool ] */ ; + DIP { CDR /* [ bytes : list bool ] */ } + /* [ bytes : bytes : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + LT + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ } + /* [ pair bytes bytes : pair bytes bytes : list bool ] */ ; + DIP { DUP + /* [ pair bytes bytes : pair bytes bytes : list bool ] */ ; + CAR + /* [ bytes : pair bytes bytes : list bool ] */ ; + DIP { CDR /* [ bytes : list bool ] */ } + /* [ bytes : bytes : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + GT + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ } + /* [ pair bytes bytes : list bool ] */ ; + DUP + /* [ pair bytes bytes : pair bytes bytes : list bool ] */ ; + CAR + /* [ bytes : pair bytes bytes : list bool ] */ ; + DIP { CDR /* [ bytes : list bool ] */ } + /* [ bytes : bytes : list bool ] */ ; + COMPARE + /* [ int : list bool ] */ ; + EQ + /* [ bool : list bool ] */ ; + CONS + /* [ list bool ] */ ; + NIL operation + /* [ list operation : list bool ] */ ; + PAIR + /* [ pair (list operation) (list bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-fail.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-fail.out new file mode 100644 index 000000000000..f86934d19755 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-fail.out @@ -0,0 +1,5 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/fail.tz --details +Well typed +Gas remaining: 1039998.449 units remaining +{ parameter unit ; storage unit ; code { FAIL } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-guestbook.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-guestbook.out new file mode 100644 index 000000000000..e938360b4c5c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-guestbook.out @@ -0,0 +1,33 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/guestbook.tz --details +Well typed +Gas remaining: 1039988.143 units remaining +{ parameter string ; + storage (map address (option string)) ; + code { UNPAIR @message @guestbook + /* [ string : map address (option string) ] */ ; + SWAP + /* [ map address (option string) : string ] */ ; + DUP + /* [ map address (option string) : map address (option string) : string ] */ ; + SENDER + /* [ address : map address (option string) : map address (option string) + : string ] */ ; + GET @previous_message + /* [ option (option string) : map address (option string) : string ] */ ; + ASSERT_SOME ; + ASSERT_NONE ; + SWAP + /* [ string : map address (option string) ] */ ; + SOME + /* [ option string : map address (option string) ] */ ; + SOME + /* [ option (option string) : map address (option string) ] */ ; + SENDER + /* [ address : option (option string) : map address (option string) ] */ ; + UPDATE + /* [ map address (option string) ] */ ; + NIL operation + /* [ list operation : map address (option string) ] */ ; + PAIR + /* [ pair (list operation) (map address (option string)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-macro_annotations.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-macro_annotations.out new file mode 100644 index 000000000000..f382e8ea2d08 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-macro_annotations.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/macro_annotations.tz --details +Well typed +Gas remaining: 1039993.362 units remaining +{ parameter unit ; + storage (pair (unit %truc) unit) ; + code { DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + UNIT + /* [ unit : unit ] */ ; + PAIR %truc + /* [ pair unit unit ] */ ; + UNIT + /* [ unit : pair unit unit ] */ ; + DUUP @new_storage + /* [ pair unit unit : unit : pair unit unit ] */ ; + DIP { DROP /* [ pair unit unit ] */ ; DROP /* [] */ } + /* [ pair unit unit ] */ ; + NIL operation + /* [ list operation : pair unit unit ] */ ; + PAIR + /* [ pair (list operation) unit unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-map_caddaadr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-map_caddaadr.out new file mode 100644 index 000000000000..90b3838837da --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-map_caddaadr.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/map_caddaadr.tz --details +Well typed +Gas remaining: 1039966.766 units remaining +{ parameter unit ; + storage (pair (pair nat (pair nat (pair (pair (pair (nat %p) (mutez %value)) nat) nat))) nat) ; + code { MAP_CDADDAADR @new_storage %value + { PUSH mutez 1000000 + /* [ mutez : mutez : pair nat mutez ] */ ; + ADD + /* [ mutez : pair nat mutez ] */ } ; + NIL operation + /* [ list operation + : pair unit (pair nat nat (pair (pair nat mutez) nat) nat) nat ] */ ; + SWAP + /* [ pair unit (pair nat nat (pair (pair nat mutez) nat) nat) nat + : list operation ] */ ; + SET_CAR } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-max_in_list.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-max_in_list.out new file mode 100644 index 000000000000..fbd41f5de442 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-max_in_list.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/max_in_list.tz --details +Well typed +Gas remaining: 1039987.861 units remaining +{ parameter (list int) ; + storage (option int) ; + code { CAR + /* [ list int ] */ ; + DIP { NONE int /* [ option int ] */ } + /* [ list int : option int ] */ ; + ITER { SWAP + /* [ option int : int ] */ ; + IF_NONE + { SOME /* [ option int ] */ } + { DIP { DUP /* [ int : int ] */ } + /* [ int : int : int ] */ ; + DUP + /* [ int : int : int : int ] */ ; + DIP { SWAP /* [ int : int : int ] */ } + /* [ int : int : int : int ] */ ; + CMPLE ; + IF { DROP /* [ int ] */ } { DIP { DROP /* [] */ } /* [ int ] */ } ; + SOME + /* [ option int ] */ } } + /* [ option int ] */ ; + NIL operation + /* [ list operation : option int ] */ ; + PAIR + /* [ pair (list operation) (option int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-min.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-min.out new file mode 100644 index 000000000000..9f6fab1fb010 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-min.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/min.tz --details +Well typed +Gas remaining: 1039991.951 units remaining +{ parameter (pair int int) ; + storage int ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + DUP + /* [ pair int int : pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int : pair int int ] */ ; + DIP { CDR /* [ int : pair int int ] */ } + /* [ int : int : pair int int ] */ ; + CMPLT ; + IF { CAR /* [ int ] */ } { CDR /* [ int ] */ } ; + NIL operation + /* [ list operation : int ] */ ; + PAIR + /* [ pair (list operation) int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-pair_macro.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-pair_macro.out new file mode 100644 index 000000000000..7da7cdfb7e3c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-pair_macro.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/pair_macro.tz --details +Well typed +Gas remaining: 1039988.858 units remaining +{ parameter unit ; + storage unit ; + code { UNIT + /* [ unit : pair unit unit ] */ ; + UNIT + /* [ unit : unit : pair unit unit ] */ ; + UNIT + /* [ unit : unit : unit : pair unit unit ] */ ; + UNIT + /* [ unit : unit : unit : unit : pair unit unit ] */ ; + UNIT + /* [ unit : unit : unit : unit : unit : pair unit unit ] */ ; + PAPAPAPAIR @name %x1 %x2 %x3 %x4 %x5 ; + CDDDAR %x4 @fourth ; + DROP + /* [ pair unit unit ] */ ; + CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-set_caddaadr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-set_caddaadr.out new file mode 100644 index 000000000000..a4904d359a1d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-set_caddaadr.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/set_caddaadr.tz --details +Well typed +Gas remaining: 1039970.670 units remaining +{ parameter mutez ; + storage (pair (pair nat (pair nat (pair (pair (pair (nat %p) (mutez %value)) nat) nat))) nat) ; + code { DUP + /* [ pair mutez (pair nat nat (pair (pair nat mutez) nat) nat) nat + : pair mutez (pair nat nat (pair (pair nat mutez) nat) nat) nat ] */ ; + CAR + /* [ mutez : pair mutez (pair nat nat (pair (pair nat mutez) nat) nat) nat ] */ ; + SWAP + /* [ pair mutez (pair nat nat (pair (pair nat mutez) nat) nat) nat : mutez ] */ ; + CDR + /* [ pair (pair nat nat (pair (pair nat mutez) nat) nat) nat : mutez ] */ ; + SET_CADDAADR @toplevel_pair_name %value ; + NIL operation + /* [ list operation : pair (pair nat nat (pair (pair nat mutez) nat) nat) nat ] */ ; + PAIR + /* [ pair (list operation) (pair nat nat (pair (pair nat mutez) nat) nat) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-take_my_money.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-take_my_money.out new file mode 100644 index 000000000000..cf70158e2e20 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-take_my_money.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/take_my_money.tz --details +Well typed +Gas remaining: 1039993.750 units remaining +{ parameter key_hash ; + storage unit ; + code { CAR + /* [ key_hash ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit ] */ ; + DIP { UNIT /* [ unit ] */ } + /* [ contract unit : unit ] */ ; + PUSH mutez 1000000 + /* [ mutez : contract unit : unit ] */ ; + UNIT + /* [ unit : mutez : contract unit : unit ] */ ; + TRANSFER_TOKENS + /* [ operation : unit ] */ ; + NIL operation + /* [ list operation : operation : unit ] */ ; + SWAP + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-unpair_macro.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-unpair_macro.out new file mode 100644 index 000000000000..d5b26b8afa73 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc macros-unpair_macro.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/macros/unpair_macro.tz --details +Well typed +Gas remaining: 1039977.130 units remaining +{ parameter (unit :param_unit) ; + storage (unit :u1) ; + code { DROP + /* [] */ ; + UNIT :u4 @a4 + /* [ unit ] */ ; + UNIT :u3 @a3 + /* [ unit : unit ] */ ; + UNIT :u2 @a2 + /* [ unit : unit : unit ] */ ; + UNIT :u1 @a1 + /* [ unit : unit : unit : unit ] */ ; + PAIR + /* [ pair unit unit : unit : unit ] */ ; + UNPAIR @x1 @x2 + /* [ unit : unit : unit : unit ] */ ; + PPAIPAIR @p1 %x1 %x2 %x3 %x4 ; + UNPPAIPAIR %x1 % %x3 %x4 @uno @due @tre @quattro ; + PAPAPAIR @p2 %x1 %x2 %x3 %x4 ; + UNPAPAPAIR @un @deux @trois @quatre ; + PAPPAIIR @p3 %x1 %x2 %x3 %x4 ; + UNPAPPAIIR @one @two @three @four ; + DIP { DROP /* [ unit : unit ] */ ; DROP /* [ unit ] */ ; DROP /* [] */ } + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-999_constant.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-999_constant.out new file mode 100644 index 000000000000..d4584f00ea99 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-999_constant.out @@ -0,0 +1,15 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/999_constant.tz --details +Well typed +Gas remaining: 1039563.004 units remaining +{ parameter unit ; + storage int ; + code { DROP + /* [] */ ; + PUSH int + (constant + "expruQN5r2umbZVHy6WynYM8f71F8zS4AERz9bugF8UkPBEqrHLuU8" + /* [ list operation : int ] */) + /* [ int ] */ ; + NIL operation /* [ pair (list operation) int ] */ ; + PAIR } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-add_clear_tickets.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-add_clear_tickets.out new file mode 100644 index 000000000000..91ee9307a1c7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-add_clear_tickets.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/add_clear_tickets_015.tz --details +Well typed +Gas remaining: 1039988.509 units remaining +{ parameter (or (pair %add nat string) (unit %clear)) ; + storage (list (ticket string)) ; + code { UNPAIR + /* [ or (pair nat string) unit : list (ticket string) ] */ ; + IF_LEFT + { UNPAIR + /* [ nat : string : list (ticket string) ] */ ; + DIG 2 + /* [ list (ticket string) : nat : string ] */ ; + SWAP + /* [ nat : list (ticket string) : string ] */ ; + DIG 2 + /* [ string : nat : list (ticket string) ] */ ; + TICKET + /* [ option (ticket string) : list (ticket string) ] */ ; + ASSERT_SOME ; + CONS + /* [ list (ticket string) ] */ ; + NIL operation + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } + { DROP 2 + /* [] */ ; + NIL (ticket string) + /* [ list (ticket string) ] */ ; + NIL operation + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-always_fails.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-always_fails.out new file mode 100644 index 000000000000..69fd0fc56471 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-always_fails.out @@ -0,0 +1,5 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/always_fails.tz --details +Well typed +Gas remaining: 1039999.431 units remaining +{ parameter string ; storage unit ; code FAILWITH /* [] */ } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-authentication.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-authentication.out new file mode 100644 index 000000000000..7ea039e32393 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-authentication.out @@ -0,0 +1,44 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/authentication.tz --details +Well typed +Gas remaining: 1039979.836 units remaining +{ parameter (pair (lambda unit (list operation)) signature) ; + storage (pair (nat %counter) key) ; + code { UNPPAIPAIR ; + DUUUP + /* [ nat : lambda unit (list operation) : signature : nat : key ] */ ; + DUUP + /* [ lambda unit (list operation) : nat : lambda unit (list operation) + : signature : nat : key ] */ ; + SELF + /* [ contract (pair (lambda unit (list operation)) signature) + : lambda unit (list operation) : nat : lambda unit (list operation) + : signature : nat : key ] */ ; + CHAIN_ID + /* [ chain_id : contract (pair (lambda unit (list operation)) signature) + : lambda unit (list operation) : nat : lambda unit (list operation) + : signature : nat : key ] */ ; + PPAIPAIR ; + PACK + /* [ bytes : lambda unit (list operation) : signature : nat : key ] */ ; + DIP { SWAP /* [ signature : lambda unit (list operation) : nat : key ] */ } + /* [ bytes : signature : lambda unit (list operation) : nat : key ] */ ; + DUUUUUP + /* [ key : bytes : signature : lambda unit (list operation) : nat : key ] */ ; + DIP { SWAP /* [ signature : bytes : lambda unit (list operation) : nat : key ] */ } + /* [ key : signature : bytes : lambda unit (list operation) : nat : key ] */ ; + DUUUP + /* [ bytes : key : signature : bytes : lambda unit (list operation) : nat + : key ] */ ; + DIP { CHECK_SIGNATURE /* [ bool : lambda unit (list operation) : nat : key ] */ } + /* [ bytes : bool : lambda unit (list operation) : nat : key ] */ ; + SWAP + /* [ bool : bytes : lambda unit (list operation) : nat : key ] */ ; + IF { DROP /* [ lambda unit (list operation) : nat : key ] */ } { FAILWITH /* [] */ } ; + UNIT + /* [ unit : lambda unit (list operation) : nat : key ] */ ; + EXEC + /* [ list operation : nat : key ] */ ; + DIP { PUSH nat 1 /* [ nat : nat : key ] */ ; ADD /* [ nat : key ] */ } + /* [ list operation : nat : key ] */ ; + PAPAIR } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_all.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_all.out new file mode 100644 index 000000000000..92ff96f24556 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_all.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/big_map_all.tz --details +Well typed +Gas remaining: 1039996.181 units remaining +{ parameter (pair string (option nat)) ; + storage (big_map string nat) ; + code { UNPAIR + /* [ pair string (option nat) : big_map string nat ] */ ; + UNPAIR + /* [ string : option nat : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat ] */ ; + NIL operation + /* [ list operation : big_map string nat ] */ ; + PAIR + /* [ pair (list operation) (big_map string nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_entrypoints.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_entrypoints.out new file mode 100644 index 000000000000..a72b3574acf4 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_entrypoints.out @@ -0,0 +1,120 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/big_map_entrypoints.tz --details +Well typed +Gas remaining: 1039953.156 units remaining +{ storage (pair (big_map string nat) (big_map string nat)) ; + parameter + (or (unit %default + /* [ list operation : big_map string nat ] */) + (or (or %mem + (string %mem_left) + (string %mem_right) + /* [ pair (list operation) (big_map string nat) ] */) + (or (or %add (pair %add_left string nat) (pair %add_right string nat)) + (or %rem (string %rem_left) (string %rem_right)))) + /* [ big_map string nat ] */) + /* [ string : big_map string nat ] */ ; + code { UNPAIR + /* [ or unit + (or (or string string) (or (or (pair string nat) (pair string nat)) (or string string))) + : pair (big_map string nat) (big_map string nat) ] */ ; + IF_LEFT + { DROP + /* [ pair (big_map string nat) (big_map string nat) ] */ ; + DUP + /* [ pair (big_map string nat) (big_map string nat) + : pair (big_map string nat) (big_map string nat) ] */ ; + CAR + /* [ big_map string nat : pair (big_map string nat) (big_map string nat) ] */ ; + PUSH mutez + 0 + /* [ mutez : big_map string nat + : pair (big_map string nat) (big_map string nat) ] */ ; + NONE key_hash + /* [ option key_hash : mutez : big_map string nat + : pair (big_map string nat) (big_map string nat) ] */ ; + CREATE_CONTRACT + { parameter string ; + storage (big_map string nat) ; + code { UNPAIR ; DROP ; NIL operation ; PAIR } } + /* [ operation : address : pair (big_map string nat) (big_map string nat) ] */ ; + DIP { DROP /* [ pair (big_map string nat) (big_map string nat) ] */ } + /* [ operation : pair (big_map string nat) (big_map string nat) ] */ ; + NIL operation + /* [ list operation : operation + : pair (big_map string nat) (big_map string nat) ] */ ; + SWAP + /* [ operation : list operation + : pair (big_map string nat) (big_map string nat) ] */ ; + CONS + /* [ list operation : pair (big_map string nat) (big_map string nat) ] */ ; + PAIR + /* [ pair (list operation) (big_map string nat) (big_map string nat) ] */ } + { IF_LEFT + { IF_LEFT + { DIP { UNPAIR /* [ big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat ] */ ; + DIP { DUP /* [ big_map string nat : big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat : big_map string nat ] */ ; + MEM + /* [ bool : big_map string nat : big_map string nat ] */ ; + ASSERT } + { DIP { UNPAIR + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat ] */ ; + DIP { DUP /* [ big_map string nat : big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat : big_map string nat ] */ ; + MEM + /* [ bool : big_map string nat : big_map string nat ] */ ; + ASSERT ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } } + { IF_LEFT + { IF_LEFT + { UNPAIR + /* [ string : nat : pair (big_map string nat) (big_map string nat) ] */ ; + DIIP { UNPAIR /* [ big_map string nat : big_map string nat ] */ } + /* [ string : nat : big_map string nat : big_map string nat ] */ ; + DIP { SOME /* [ option nat : big_map string nat : big_map string nat ] */ } + /* [ string : option nat : big_map string nat : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat : big_map string nat ] */ } + { UNPAIR + /* [ string : nat : pair (big_map string nat) (big_map string nat) ] */ ; + DIIP { UNPAIR + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } + /* [ string : nat : big_map string nat : big_map string nat ] */ ; + DIP { SOME /* [ option nat : big_map string nat : big_map string nat ] */ } + /* [ string : option nat : big_map string nat : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } } + { IF_LEFT + { DIP { UNPAIR /* [ big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat ] */ ; + DIP { NONE nat /* [ option nat : big_map string nat : big_map string nat ] */ } + /* [ string : option nat : big_map string nat : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat : big_map string nat ] */ } + { DIP { UNPAIR + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat ] */ ; + DIP { NONE nat /* [ option nat : big_map string nat : big_map string nat ] */ } + /* [ string : option nat : big_map string nat : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : big_map string nat ] */ } } } ; + PAIR + /* [ pair (big_map string nat) (big_map string nat) ] */ ; + NIL operation + /* [ list operation : pair (big_map string nat) (big_map string nat) ] */ ; + PAIR + /* [ pair (list operation) (big_map string nat) (big_map string nat) ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_magic.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_magic.out new file mode 100644 index 000000000000..04236d8aec5f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_magic.out @@ -0,0 +1,103 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/big_map_magic.tz --details +Well typed +Gas remaining: 1039954.710 units remaining +{ storage (or (pair (big_map string string) (big_map string string)) unit) ; + parameter + (or (unit %swap) + (or (or %reset (pair (big_map string string) (big_map string string)) unit) + (or (pair %import (list (pair string string)) (list (pair string string))) + (or (list %add (pair string string)) (list %rem string))))) ; + code { UNPAIR + /* [ or unit + (or (or (pair (big_map string string) (big_map string string)) unit) + (or (pair (list (pair string string)) (list (pair string string))) + (or (list (pair string string)) (list string)))) + : or (pair (big_map string string) (big_map string string)) unit ] */ ; + IF_LEFT + { DROP + /* [ or (pair (big_map string string) (big_map string string)) unit ] */ ; + ASSERT_LEFT ; + UNPAIR + /* [ big_map string string : big_map string string ] */ ; + SWAP + /* [ big_map string string : big_map string string ] */ ; + PAIR + /* [ pair (big_map string string) (big_map string string) ] */ ; + LEFT unit + /* [ or (pair (big_map string string) (big_map string string)) unit ] */ } + { IF_LEFT + { SWAP + /* [ or (pair (big_map string string) (big_map string string)) unit + : or (pair (big_map string string) (big_map string string)) unit ] */ ; + DROP + /* [ or (pair (big_map string string) (big_map string string)) unit ] */ } + { IF_LEFT + { DIP { ASSERT_RIGHT ; DROP /* [] */ } + /* [ pair (list (pair string string)) (list (pair string string)) ] */ ; + UNPAIR + /* [ list (pair string string) : list (pair string string) ] */ ; + DIP { EMPTY_BIG_MAP + string + string + /* [ big_map string string : list (pair string string) ] */ } + /* [ list (pair string string) : big_map string string + : list (pair string string) ] */ ; + ITER { UNPAIR + /* [ string : string : big_map string string : list (pair string string) ] */ ; + DIP { SOME + /* [ option string : big_map string string : list (pair string string) ] */ } + /* [ string : option string : big_map string string + : list (pair string string) ] */ ; + UPDATE + /* [ big_map string string : list (pair string string) ] */ } + /* [ big_map string string : list (pair string string) ] */ ; + SWAP + /* [ list (pair string string) : big_map string string ] */ ; + DIP { EMPTY_BIG_MAP string string + /* [ big_map string string : big_map string string ] */ } + /* [ list (pair string string) : big_map string string : big_map string string ] */ ; + ITER { UNPAIR + /* [ string : string : big_map string string : big_map string string ] */ ; + DIP { SOME /* [ option string : big_map string string : big_map string string ] */ } + /* [ string : option string : big_map string string : big_map string string ] */ ; + UPDATE + /* [ big_map string string : big_map string string ] */ } + /* [ big_map string string : big_map string string ] */ ; + SWAP + /* [ big_map string string : big_map string string ] */ ; + PAIR + /* [ pair (big_map string string) (big_map string string) ] */ ; + LEFT unit + /* [ or (pair (big_map string string) (big_map string string)) unit ] */ } + { IF_LEFT + { DIP { ASSERT_LEFT ; UNPAIR /* [ big_map string string : big_map string string ] */ } + /* [ list (pair string string) : big_map string string : big_map string string ] */ ; + ITER { UNPAIR + /* [ string : string : big_map string string : big_map string string ] */ ; + DIP { SOME /* [ option string : big_map string string : big_map string string ] */ } + /* [ string : option string : big_map string string : big_map string string ] */ ; + UPDATE + /* [ big_map string string : big_map string string ] */ } + /* [ big_map string string : big_map string string ] */ ; + PAIR + /* [ pair (big_map string string) (big_map string string) ] */ ; + LEFT unit + /* [ or (pair (big_map string string) (big_map string string)) unit ] */ } + { DIP { ASSERT_LEFT ; UNPAIR /* [ big_map string string : big_map string string ] */ } + /* [ list string : big_map string string : big_map string string ] */ ; + ITER { DIP { NONE string + /* [ option string : big_map string string : big_map string string ] */ } + /* [ string : option string : big_map string string : big_map string string ] */ ; + UPDATE + /* [ big_map string string : big_map string string ] */ } + /* [ big_map string string : big_map string string ] */ ; + PAIR + /* [ pair (big_map string string) (big_map string string) ] */ ; + LEFT unit + /* [ or (pair (big_map string string) (big_map string string)) unit ] */ } } } } ; + NIL operation + /* [ list operation + : or (pair (big_map string string) (big_map string string)) unit ] */ ; + PAIR + /* [ pair (list operation) (or (pair (big_map string string) (big_map string string)) unit) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_read.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_read.out new file mode 100644 index 000000000000..c25bf0963226 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_read.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/big_map_read.tz --details +Well typed +Gas remaining: 1039994.234 units remaining +{ storage nat ; + parameter (big_map nat nat) ; + code { CAR + /* [ big_map nat nat ] */ ; + PUSH nat 1 + /* [ nat : big_map nat nat ] */ ; + GET + /* [ option nat ] */ ; + ASSERT_SOME ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_store.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_store.out new file mode 100644 index 000000000000..b470ba5a7620 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_store.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/big_map_store.tz --details +Well typed +Gas remaining: 1039996.856 units remaining +{ storage (big_map nat nat) ; + parameter unit ; + code { DROP + /* [] */ ; + EMPTY_BIG_MAP nat nat + /* [ big_map nat nat ] */ ; + NIL operation + /* [ list operation : big_map nat nat ] */ ; + PAIR + /* [ pair (list operation) (big_map nat nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_write.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_write.out new file mode 100644 index 000000000000..e7ac6e1a6602 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-big_map_write.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/big_map_write.tz --details +Well typed +Gas remaining: 1039994.982 units remaining +{ storage unit ; + parameter (big_map nat nat) ; + code { UNPAIR + /* [ big_map nat nat : unit ] */ ; + PUSH (option nat) (Some 1) + /* [ option nat : big_map nat nat : unit ] */ ; + PUSH nat 1 + /* [ nat : option nat : big_map nat nat : unit ] */ ; + UPDATE + /* [ big_map nat nat : unit ] */ ; + DROP + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-cache_consistency.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-cache_consistency.out new file mode 100644 index 000000000000..1f7c50e117e0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-cache_consistency.out @@ -0,0 +1,15 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/cache_consistency.tz --details +Well typed +Gas remaining: 1039994.914 units remaining +{ parameter (or (unit %renew) (unit %keep)) ; + storage (big_map (nat :a) string) ; + code { UNPAIR + /* [ or unit unit : big_map nat string ] */ ; + IF_LEFT + { DROP 2 /* [] */ ; EMPTY_BIG_MAP nat string /* [ big_map nat string ] */ } + { DROP /* [ big_map nat string ] */ } ; + NIL operation + /* [ list operation : big_map nat string ] */ ; + PAIR + /* [ pair (list operation) (big_map nat string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-check_signature.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-check_signature.out new file mode 100644 index 000000000000..25d6c1238ebe --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-check_signature.out @@ -0,0 +1,45 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/check_signature.tz --details +Well typed +Gas remaining: 1039986.408 units remaining +{ parameter (pair key signature bytes) ; + storage unit ; + code { CAR + /* [ pair key signature bytes ] */ ; + UNPAIR + /* [ key : pair signature bytes ] */ ; + SWAP + /* [ pair signature bytes : key ] */ ; + UNPAIR + /* [ signature : bytes : key ] */ ; + DUP 3 + /* [ key : signature : bytes : key ] */ ; + HASH_KEY + /* [ key_hash : signature : bytes : key ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit : signature : bytes : key ] */ ; + SENDER + /* [ address : contract unit : signature : bytes : key ] */ ; + SWAP + /* [ contract unit : address : signature : bytes : key ] */ ; + ADDRESS + /* [ address : address : signature : bytes : key ] */ ; + COMPARE + /* [ int : signature : bytes : key ] */ ; + EQ + /* [ bool : signature : bytes : key ] */ ; + IF { /* [ signature : bytes : key ] */ } + { PUSH string "invalid signer" + /* [ string : signature : bytes : key ] */ ; + FAILWITH + /* [] */ } ; + DIG 2 + /* [ key : signature : bytes ] */ ; + CHECK_SIGNATURE + /* [ bool ] */ ; + IF { UNIT /* [ unit ] */ } + { PUSH string "invalid signature" /* [ string ] */ ; FAILWITH /* [] */ } ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-constant_entrypoints.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-constant_entrypoints.out new file mode 100644 index 000000000000..91863cc124e9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-constant_entrypoints.out @@ -0,0 +1,58 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/constant_entrypoints.tz --details +Well typed +Gas remaining: 1039546.605 units remaining +{ parameter + (or (lambda %do + (constant "exprvKFFbc7SnPjkPZgyhaHewQhmrouNjNae3DpsQ8KuADn9i2WuJ8") + (list operation)) + (unit %default)) ; + storage key_hash ; + code { { { /* [ pair (or (lambda unit (list operation)) unit) key_hash ] */ + DUP + /* [ or (lambda unit (list operation)) unit + : pair (or (lambda unit (list operation)) unit) key_hash ] */ ; + CAR + /* [ or (lambda unit (list operation)) unit : key_hash ] */ ; + DIP { /* [ pair (or (lambda unit (list operation)) unit) key_hash ] */ CDR } } } ; + IF_LEFT + { /* [ lambda unit (list operation) : key_hash ] */ + PUSH mutez 0 /* [ mutez : mutez : lambda unit (list operation) : key_hash ] */ ; + AMOUNT ; + { { /* [ mutez : mutez : lambda unit (list operation) : key_hash ] */ + COMPARE + /* [ bool : lambda unit (list operation) : key_hash ] */ ; + EQ } ; + IF {} + { { /* [ lambda unit (list operation) : key_hash ] */ UNIT /* [] */ ; FAILWITH } } + /* [ lambda unit (list operation) : key_hash ] */ } ; + { /* [ lambda unit (list operation) : key_hash ] */ + DIP { /* [ key_hash ] */ DUP /* [ key_hash : lambda unit (list operation) : key_hash ] */ } ; + SWAP + /* [ contract unit : lambda unit (list operation) : key_hash ] */ } ; + IMPLICIT_ACCOUNT + /* [ address : lambda unit (list operation) : key_hash ] */ ; + ADDRESS + /* [ address : address : lambda unit (list operation) : key_hash ] */ ; + SENDER ; + { { /* [ address : address : lambda unit (list operation) : key_hash ] */ + COMPARE + /* [ bool : lambda unit (list operation) : key_hash ] */ ; + EQ } ; + IF {} + { { /* [ lambda unit (list operation) : key_hash ] */ + UNIT + /* [] */ ; + FAILWITH + /* [ unit : lambda unit (list operation) : key_hash ] */ } } + /* [ lambda unit (list operation) : key_hash ] */ } ; + UNIT + /* [ list operation : key_hash ] */ ; + EXEC + /* [ pair (list operation) key_hash ] */ ; + PAIR } + { /* [ unit : key_hash ] */ + DROP + /* [ list operation : key_hash ] */ ; + NIL operation /* [ pair (list operation) key_hash ] */ ; + PAIR } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-constant_unit.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-constant_unit.out new file mode 100644 index 000000000000..d98b8f330691 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-constant_unit.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/constant_unit.tz --details +Well typed +Gas remaining: 1039124.469 units remaining +{ parameter (constant "exprvKFFbc7SnPjkPZgyhaHewQhmrouNjNae3DpsQ8KuADn9i2WuJ8") ; + storage (constant "exprvKFFbc7SnPjkPZgyhaHewQhmrouNjNae3DpsQ8KuADn9i2WuJ8") ; + code { /* [] */ + DROP ; + PUSH unit + /* [ list operation : unit ] */ + (constant + "expruJpGVgueH6vjZDZQRjgXUuHBi4Y6UQ3cbz6swP2FMVybvnDjm5" + /* [ pair (list operation) unit ] */) ; + NIL operation ; + PAIR } + /* [] */ } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-create_contract.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-create_contract.out new file mode 100644 index 000000000000..2e23d66639d8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-create_contract.out @@ -0,0 +1,74 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/create_contract.tz --details +Well typed +Gas remaining: 1039973.277 units remaining +{ parameter (option address) ; + storage unit ; + code { /* [ pair string string ] */ + CAR + /* [ list operation : string ] */ ; + IF_NONE + { /* [ list operation : string ] */ + PUSH string "dummy" + /* [ string ] */ ; + PUSH mutez 100000000 + /* [ mutez : string ] */ ; + NONE key_hash + /* [ option key_hash : mutez : string ] */ ; + CREATE_CONTRACT + { parameter string ; + storage string ; + code { CAR ; NIL operation ; PAIR } } + /* [ operation : address ] */ ; + DIP { SOME + /* [ option address ] */ ; + DIP { SELF + /* [ contract (option address) ] */ ; + PUSH mutez 0 + /* [ mutez : contract (option address) ] */ } + /* [ option address : mutez : contract (option address) ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ } + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ ; + UNIT + /* [ unit : list operation ] */ ; + SWAP + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } + { SELF + /* [ contract (option address) : address ] */ ; + ADDRESS + /* [ address : address ] */ ; + SENDER + /* [ address : address : address ] */ ; + IFCMPNEQ { FAIL } { /* [ address ] */ } ; + CONTRACT string + /* [ option (contract string) ] */ ; + IF_SOME { /* [ contract string ] */ } { FAIL } ; + PUSH mutez 0 + /* [ mutez : contract string ] */ ; + PUSH string "abcdefg" + /* [ string : mutez : contract string ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ ; + UNIT + /* [ unit : list operation ] */ ; + SWAP + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-create_contract_simple.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-create_contract_simple.out new file mode 100644 index 000000000000..1eab68d0ad6f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-create_contract_simple.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/create_contract_simple.tz --details +Well typed +Gas remaining: 1039991.809 units remaining +{ parameter unit ; + storage unit ; + code { CAR + /* [ string ] */ ; + PUSH string "foo" /* [ pair (list operation) string ] */ + /* [ list operation : string ] */ ; + PUSH mutez 0 + /* [ mutez : string : unit ] */ ; + NONE key_hash + /* [ option key_hash : mutez : string : unit ] */ ; + CREATE_CONTRACT + { parameter string ; + storage string ; + code { CAR ; NIL operation ; PAIR } } + /* [ operation : address : unit ] */ ; + DROP + /* [ address : unit ] */ ; + DROP + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-default_account.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-default_account.out new file mode 100644 index 000000000000..75ec54e06d14 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-default_account.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/default_account.tz --details +Well typed +Gas remaining: 1039993.750 units remaining +{ parameter key_hash ; + storage unit ; + code { DIP { UNIT /* [ unit ] */ } + /* [ pair key_hash unit : unit ] */ ; + CAR + /* [ key_hash : unit ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit : unit ] */ ; + PUSH mutez 100000000 + /* [ mutez : contract unit : unit ] */ ; + UNIT + /* [ unit : mutez : contract unit : unit ] */ ; + TRANSFER_TOKENS + /* [ operation : unit ] */ ; + NIL operation + /* [ list operation : operation : unit ] */ ; + SWAP + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-emit_events.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-emit_events.out new file mode 100644 index 000000000000..2b187914ffd8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-emit_events.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/emit_events.tz --details +Well typed +Gas remaining: 1039991.110 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + PUSH string "right" + /* [ string : unit ] */ ; + RIGHT nat + /* [ or nat string : unit ] */ ; + EMIT %tag1 + /* [ operation : unit ] */ ; + PUSH nat 2 + /* [ nat : operation : unit ] */ ; + LEFT string + /* [ or nat string : operation : unit ] */ ; + EMIT %tag2 (or (nat %int) (string %str)) + /* [ operation : operation : unit ] */ ; + NIL operation + /* [ list operation : operation : operation : unit ] */ ; + SWAP + /* [ operation : list operation : operation : unit ] */ ; + CONS + /* [ list operation : operation : unit ] */ ; + SWAP + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_appender.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_appender.out new file mode 100644 index 000000000000..7d2cf1754315 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_appender.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/execution_order_appender.tz --details +Well typed +Gas remaining: 1039990.644 units remaining +{ parameter unit ; + storage (pair address string) ; + code { CDR + /* [ pair address string ] */ ; + DUP + /* [ pair address string : pair address string ] */ ; + UNPAIR + /* [ address : string : pair address string ] */ ; + CONTRACT string + /* [ option (contract string) : string : pair address string ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract string : string : pair address string ] */ ; + DIG 2 + /* [ string : mutez : contract string : pair address string ] */ ; + TRANSFER_TOKENS + /* [ operation : pair address string ] */ ; + NIL operation + /* [ list operation : operation : pair address string ] */ ; + SWAP + /* [ operation : list operation : pair address string ] */ ; + CONS + /* [ list operation : pair address string ] */ ; + PAIR + /* [ pair (list operation) address string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_caller.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_caller.out new file mode 100644 index 000000000000..0dcfaf879e62 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_caller.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/execution_order_caller.tz --details +Well typed +Gas remaining: 1039992.571 units remaining +{ parameter unit ; + storage (list address) ; + code { CDR + /* [ list address ] */ ; + DUP + /* [ list address : list address ] */ ; + MAP { CONTRACT unit + /* [ option (contract unit) : list address ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract unit : list address ] */ ; + UNIT + /* [ unit : mutez : contract unit : list address ] */ ; + TRANSFER_TOKENS + /* [ operation : list address ] */ } + /* [ list operation : list address ] */ ; + PAIR + /* [ pair (list operation) (list address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_storer.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_storer.out new file mode 100644 index 000000000000..4ef3a520f3b3 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-execution_order_storer.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/execution_order_storer.tz --details +Well typed +Gas remaining: 1039996.980 units remaining +{ parameter string ; + storage string ; + code { UNPAIR + /* [ string : string ] */ ; + SWAP + /* [ string : string ] */ ; + CONCAT + /* [ string ] */ ; + NIL operation + /* [ list operation : string ] */ ; + PAIR + /* [ pair (list operation) string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-fa12_reference.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-fa12_reference.out new file mode 100644 index 000000000000..85097cca365c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-fa12_reference.out @@ -0,0 +1,2707 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/fa12_reference.tz --details +Well typed +Gas remaining: 1039349.178 units remaining +{ parameter + (or (or (or (pair %transfer (address :from) (pair (address :to) (nat :value))) + (pair %approve (address :spender) (nat :value))) + (or (pair %getAllowance (pair (address :owner) (address :spender)) (contract nat)) + (or (pair %getBalance (address :owner) (contract nat)) + (pair %getTotalSupply unit (contract nat))))) + (or (or (bool %setPause) (address %setAdministrator)) + (or (pair %getAdministrator unit (contract address)) + (or (pair %mint (address :to) (nat :value)) (pair %burn (address :from) (nat :value)))))) ; + storage + (pair (big_map %ledger + (address :user) + (pair (nat :balance) (map :approvals (address :spender) (nat :value)))) + (pair (address %admin) (pair (bool %paused) (nat %totalSupply)))) ; + code { CAST (pair (or (or (or (pair address (pair address nat)) (pair address nat)) + (or (pair (pair address address) (contract nat)) + (or (pair address (contract nat)) (pair unit (contract nat))))) + (or (or bool address) + (or (pair unit (contract address)) (or (pair address nat) (pair address nat))))) + (pair (big_map address (pair nat (map address nat))) (pair address (pair bool nat)))) + /* [ pair (or (or (or (pair address address nat) (pair address nat)) + (or (pair (pair address address) (contract nat)) + (or (pair address (contract nat)) (pair unit (contract nat))))) + (or (or bool address) + (or (pair unit (contract address)) (or (pair address nat) (pair address nat))))) + (big_map address (pair nat (map address nat))) + address + bool + nat ] */ ; + DUP + /* [ pair (or (or (or (pair address address nat) (pair address nat)) + (or (pair (pair address address) (contract nat)) + (or (pair address (contract nat)) (pair unit (contract nat))))) + (or (or bool address) + (or (pair unit (contract address)) (or (pair address nat) (pair address nat))))) + (big_map address (pair nat (map address nat))) + address + bool + nat + : pair (or (or (or (pair address address nat) (pair address nat)) + (or (pair (pair address address) (contract nat)) + (or (pair address (contract nat)) (pair unit (contract nat))))) + (or (or bool address) + (or (pair unit (contract address)) (or (pair address nat) (pair address nat))))) + (big_map address (pair nat (map address nat))) + address + bool + nat ] */ ; + CAR + /* [ or (or (or (pair address address nat) (pair address nat)) + (or (pair (pair address address) (contract nat)) + (or (pair address (contract nat)) (pair unit (contract nat))))) + (or (or bool address) + (or (pair unit (contract address)) (or (pair address nat) (pair address nat)))) + : pair (or (or (or (pair address address nat) (pair address nat)) + (or (pair (pair address address) (contract nat)) + (or (pair address (contract nat)) (pair unit (contract nat))))) + (or (or bool address) + (or (pair unit (contract address)) (or (pair address nat) (pair address nat))))) + (big_map address (pair nat (map address nat))) + address + bool + nat ] */ ; + DIP { CDR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ or (or (or (pair address address nat) (pair address nat)) + (or (pair (pair address address) (contract nat)) + (or (pair address (contract nat)) (pair unit (contract nat))))) + (or (or bool address) + (or (pair unit (contract address)) (or (pair address nat) (pair address nat)))) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_LEFT + { IF_LEFT + { IF_LEFT + { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ bool + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { UNIT + /* [ unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "TokenOperationsArePaused" + /* [ string : unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ address : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : address : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + COMPARE + /* [ int : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { DROP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SENDER + /* [ address : address : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + COMPARE + /* [ int : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SENDER + /* [ address : address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address address : pair address address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { EMPTY_MAP + address + nat + /* [ map address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { CDR + /* [ map address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + /* [ pair address address : map address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : map address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + /* [ pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { SENDER + /* [ address : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat : nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ nat : nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SUB + /* [ int : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ISNAT + /* [ option nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { DIP { DUP + /* [ nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat : nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address address nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "NotEnoughAllowance" + /* [ string : pair nat nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string nat nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + /* [ address : nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : pair address nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address address nat : pair address address nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DROP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : address : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { EMPTY_MAP + address + nat + /* [ map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EMPTY_MAP + address + nat + /* [ map address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ map address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address address nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ map address nat : pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ nat : nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { DROP + /* [ map address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NONE nat + /* [ option nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { SOME + /* [ option nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DIP { DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address address nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ map address nat : pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ option nat : pair address address nat : map address nat + : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : option nat : map address nat + : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : option nat : map address nat + : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : option nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + UPDATE + /* [ map address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ map address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ map address nat : map address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ map address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : pair nat (map address nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : pair nat (map address nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { SOME + /* [ option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + UPDATE + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR /* [ pair address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + DIP { DROP /* [ pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { NONE (pair nat (map address nat)) + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { EMPTY_MAP + address + nat + /* [ map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SOME + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + { DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address address nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ADD + /* [ nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SOME + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + SWAP + /* [ pair address address nat : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat + : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ pair address nat : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + UPDATE + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR /* [ pair address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + DIP { DROP /* [ pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ int : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ADD + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ISNAT + /* [ option nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH string + "Internal: Negative total supply" + /* [ string + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address bool nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair bool nat : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair bool nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ bool : nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ address : pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + CDR + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : pair address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + DIP { DROP /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ ; + SWAP + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { CDR + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH nat + 0 + /* [ nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "NotEnoughBalance" + /* [ string : pair nat nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string nat nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address address nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ nat : nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SUB + /* [ int : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ISNAT + /* [ option nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { CAR + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "NotEnoughBalance" + /* [ string : pair nat nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string nat nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address address nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ map address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SIZE + /* [ nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { DROP + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NONE (pair nat (map address nat)) + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { SOME + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + { SOME + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + SWAP + /* [ pair address address nat : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + UPDATE + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR /* [ pair address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + DIP { DROP /* [ pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NEG + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ int : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ADD + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ISNAT + /* [ option nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH string + "Internal: Negative total supply" + /* [ string + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address bool nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair bool nat : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair bool nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ bool : nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ address : pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + CDR + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : pair address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + DIP { DROP /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ ; + SWAP + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DROP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + NIL operation + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } + { SENDER + /* [ address : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ bool + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { UNIT + /* [ unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "TokenOperationsArePaused" + /* [ string : unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { EMPTY_MAP + address + nat + /* [ map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { CDR + /* [ map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + /* [ pair address address nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DUP + /* [ nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { DROP + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { DROP + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { PUSH string + "UnsafeAllowanceChange" + /* [ string : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } } ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : address : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { EMPTY_MAP + address + nat + /* [ map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EMPTY_MAP + address + nat + /* [ map address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ map address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address address nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ map address nat : pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ nat : nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { DROP + /* [ map address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NONE nat + /* [ option nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { SOME + /* [ option nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DIP { DIP { DUP + /* [ pair address address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address address nat + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ map address nat : pair address address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ option nat : pair address address nat : map address nat + : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : option nat : map address nat + : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address nat : option nat : map address nat + : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : option nat : map address nat : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + UPDATE + /* [ map address nat : pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) + : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ map address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ map address nat : map address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ map address nat : nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ nat : map address nat : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address address nat : pair nat (map address nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : pair nat (map address nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { SOME + /* [ option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + UPDATE + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR /* [ pair address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + DIP { DROP /* [ pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NIL operation + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } } + { IF_LEFT + { DUP + /* [ pair (pair address address) (contract nat) + : pair (pair address address) (contract nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ pair address address : pair (pair address address) (contract nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address + : pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (pair address address) + (big_map address (pair nat (map address nat))) + address + bool + nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair (pair address address) + (big_map address (pair nat (map address nat))) + address + bool + nat + : pair (pair address address) + (big_map address (pair nat (map address nat))) + address + bool + nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ pair address address + : pair (pair address address) + (big_map address (pair nat (map address nat))) + address + bool + nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address address + : pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address address : pair address address + : pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { EMPTY_MAP + address + nat + /* [ map address nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { CDR + /* [ map address nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + /* [ pair address address : map address nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ address : map address nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { /* [ nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { AMOUNT + /* [ mutez : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : mutez : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NIL operation + /* [ list operation : operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ operation : list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CONS + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } + { IF_LEFT + { DUP + /* [ pair address (contract nat) : pair address (contract nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : pair address (contract nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address (big_map address (pair nat (map address nat))) address bool nat + : pair address (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair address (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { CAR + /* [ nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { AMOUNT + /* [ mutez : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : mutez : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NIL operation + /* [ list operation : operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ operation : list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CONS + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DUP + /* [ pair unit (contract nat) : pair unit (contract nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ unit : pair unit (contract nat) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ unit : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ unit : pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair unit (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { AMOUNT + /* [ mutez : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : mutez : contract nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NIL operation + /* [ list operation : operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ operation : list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CONS + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } } } } + { IF_LEFT + { IF_LEFT + { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SENDER + /* [ address : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + COMPARE + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { UNIT + /* [ unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "SenderIsNotAdmin" + /* [ string : unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } } + /* [ bool + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ bool : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address bool nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ bool : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair bool nat : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair bool nat : nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ bool : nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ bool : bool : nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ bool : nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ address : pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + CDR + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : pair address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + DIP { DROP /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ ; + SWAP + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NIL operation + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SENDER + /* [ address : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + COMPARE + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { UNIT + /* [ unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "SenderIsNotAdmin" + /* [ string : unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } } + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address bool nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address bool nat : pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : address : pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + CDR + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : pair address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + DIP { DROP /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ ; + SWAP + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NIL operation + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } } + { IF_LEFT + { DUP + /* [ pair unit (contract address) : pair unit (contract address) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ unit : pair unit (contract address) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ unit : contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ contract address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ unit : pair (big_map address (pair nat (map address nat))) address bool nat + : contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair unit (big_map address (pair nat (map address nat))) address bool nat + : contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat : contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { AMOUNT + /* [ mutez : contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : mutez : contract address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + TRANSFER_TOKENS + /* [ operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NIL operation + /* [ list operation : operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ operation : list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CONS + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } + { IF_LEFT + { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SENDER + /* [ address : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + COMPARE + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { UNIT + /* [ unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "SenderIsNotAdmin" + /* [ string : unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } } + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { NONE (pair nat (map address nat)) + /* [ option (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { EMPTY_MAP + address + nat + /* [ map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SOME + /* [ option (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + { DIP { DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ADD + /* [ nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SOME + /* [ option (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + SWAP + /* [ pair address nat : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address nat : pair address nat : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ address : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + UPDATE + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR /* [ pair address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + DIP { DROP /* [ pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ int : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ADD + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ISNAT + /* [ option nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH string + "Internal: Negative total supply" + /* [ string + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address bool nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair bool nat : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair bool nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ bool : nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ address : pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + CDR + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : pair address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + DIP { DROP /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ ; + SWAP + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DROP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NIL operation + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } + { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SENDER + /* [ address : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + COMPARE + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { UNIT + /* [ unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "SenderIsNotAdmin" + /* [ string : unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string unit + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } } + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat + : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ big_map address (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : big_map address (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + GET + /* [ option (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH nat + 0 + /* [ nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ nat : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "NotEnoughBalance" + /* [ string : pair nat nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string nat nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DUP + /* [ pair nat (map address nat) : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address nat : nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ nat : nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SUB + /* [ int : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ISNAT + /* [ option nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { CAR + /* [ nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address nat : nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PUSH string + "NotEnoughBalance" + /* [ string : pair nat nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair string nat nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : map address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair nat (map address nat) : pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ pair address nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { DUP + /* [ pair nat (map address nat) : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ map address nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SIZE + /* [ nat : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + INT + /* [ int : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + EQ + /* [ bool : pair nat (map address nat) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF { DROP + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NONE (pair nat (map address nat)) + /* [ option (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + { SOME + /* [ option (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } } + { SOME + /* [ option (pair nat (map address nat)) : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + SWAP + /* [ pair address nat : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ address : option (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ address : option (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + UPDATE + /* [ big_map address (pair nat (map address nat)) + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR /* [ pair address bool nat ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair address bool nat ] */ ; + CAR + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) + : big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + DIP { DROP /* [ pair address bool nat ] */ } + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DUP + /* [ pair address nat : pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NEG + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ int : nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ADD + /* [ int + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + ISNAT + /* [ option nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + IF_NONE + { PUSH string + "Internal: Negative total supply" + /* [ string + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair address bool nat : pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair bool nat : pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR + /* [ bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair bool nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + CDR + /* [ nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DROP + /* [ bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ nat : bool : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ bool : nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair bool nat : address + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + SWAP + /* [ address : pair bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { DUP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DIP { CAR /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair (big_map address (pair nat (map address nat))) address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + CDR + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : pair address bool nat + : big_map address (pair nat (map address nat)) ] */ ; + DIP { DROP /* [ big_map address (pair nat (map address nat)) ] */ } + /* [ pair address bool nat : big_map address (pair nat (map address nat)) ] */ ; + SWAP + /* [ big_map address (pair nat (map address nat)) : pair address bool nat ] */ ; + PAIR + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ } + /* [ pair address nat + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + DROP + /* [ pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + NIL operation + /* [ list operation + : pair (big_map address (pair nat (map address nat))) address bool nat ] */ ; + PAIR + /* [ pair (list operation) (big_map address (pair nat (map address nat))) address bool nat ] */ } } } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-fail_on_false.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-fail_on_false.out new file mode 100644 index 000000000000..51d8bfd7dece --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-fail_on_false.out @@ -0,0 +1,13 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/fail_on_false.tz --details +Well typed +Gas remaining: 1039995.659 units remaining +{ parameter bool ; + storage unit ; + code { UNPAIR + /* [ bool : unit ] */ ; + IF { NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } + { DROP /* [] */ ; PUSH string "bang" /* [ string ] */ ; FAILWITH /* [] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-generic_multisig.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-generic_multisig.out new file mode 100644 index 000000000000..0a27e45f4e49 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-generic_multisig.out @@ -0,0 +1,245 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/generic_multisig.tz --details +Well typed +Gas remaining: 1039939.911 units remaining +{ parameter + (or (unit %default) + (pair %main + (pair :payload + (nat %counter) + (or :action + (lambda %operation unit (list operation)) + (pair %change_keys (nat %threshold) (list %keys key)))) + (list %sigs (option signature)))) ; + storage (pair (nat %stored_counter) (pair (nat %threshold) (list %keys key))) ; + code { UNPAIR + /* [ or unit + (pair (pair nat (or (lambda unit (list operation)) (pair nat (list key)))) + (list (option signature))) : pair nat nat (list key) ] */ ; + IF_LEFT + { DROP + /* [ pair nat nat (list key) ] */ ; + NIL operation + /* [ list operation : pair nat nat (list key) ] */ ; + PAIR + /* [ pair (list operation) nat nat (list key) ] */ } + { PUSH mutez + 0 + /* [ mutez + : pair (pair nat (or (lambda unit (list operation)) (pair nat (list key)))) + (list (option signature)) : pair nat nat (list key) ] */ ; + AMOUNT + /* [ mutez : mutez + : pair (pair nat (or (lambda unit (list operation)) (pair nat (list key)))) + (list (option signature)) : pair nat nat (list key) ] */ ; + ASSERT_CMPEQ ; + SWAP + /* [ pair nat nat (list key) + : pair (pair nat (or (lambda unit (list operation)) (pair nat (list key)))) + (list (option signature)) ] */ ; + DUP + /* [ pair nat nat (list key) : pair nat nat (list key) + : pair (pair nat (or (lambda unit (list operation)) (pair nat (list key)))) + (list (option signature)) ] */ ; + DIP { SWAP + /* [ pair (pair nat (or (lambda unit (list operation)) (pair nat (list key)))) + (list (option signature)) : pair nat nat (list key) ] */ } + /* [ pair nat nat (list key) + : pair (pair nat (or (lambda unit (list operation)) (pair nat (list key)))) + (list (option signature)) : pair nat nat (list key) ] */ ; + DIP { UNPAIR + /* [ pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : list (option signature) : pair nat nat (list key) ] */ ; + DUP + /* [ pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : list (option signature) : pair nat nat (list key) ] */ ; + SELF + /* [ contract unit + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : list (option signature) : pair nat nat (list key) ] */ ; + ADDRESS + /* [ address + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : list (option signature) : pair nat nat (list key) ] */ ; + CHAIN_ID + /* [ chain_id : address + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : list (option signature) : pair nat nat (list key) ] */ ; + PAIR + /* [ pair chain_id address + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : list (option signature) : pair nat nat (list key) ] */ ; + PAIR + /* [ pair (pair chain_id address) nat (or (lambda unit (list operation)) (pair nat (list key))) + : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : list (option signature) : pair nat nat (list key) ] */ ; + PACK + /* [ bytes : pair nat (or (lambda unit (list operation)) (pair nat (list key))) + : list (option signature) : pair nat nat (list key) ] */ ; + DIP { UNPAIR @counter + /* [ nat : or (lambda unit (list operation)) (pair nat (list key)) + : list (option signature) : pair nat nat (list key) ] */ ; + DIP { SWAP + /* [ list (option signature) + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ nat : list (option signature) + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ bytes : nat : list (option signature) + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + SWAP + /* [ nat : bytes : list (option signature) + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ pair nat nat (list key) : nat : bytes : list (option signature) + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + UNPAIR @stored_counter + /* [ nat : pair nat (list key) : nat : bytes : list (option signature) + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + DIP { SWAP + /* [ nat : pair nat (list key) : bytes : list (option signature) + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ nat : nat : pair nat (list key) : bytes : list (option signature) + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + ASSERT_CMPEQ ; + DIP { SWAP + /* [ list (option signature) : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ pair nat (list key) : list (option signature) : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + UNPAIR @threshold @keys + /* [ nat : list key : list (option signature) : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + DIP { PUSH @valid + nat + 0 + /* [ nat : list key : list (option signature) : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + SWAP + /* [ list key : nat : list (option signature) : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + ITER { DIP { SWAP + /* [ list (option signature) : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ key : list (option signature) : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + SWAP + /* [ list (option signature) : key : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + IF_CONS + { IF_SOME + { SWAP + /* [ list (option signature) : signature : key : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + DIP { SWAP + /* [ key : signature : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + DIIP { DUUP + /* [ bytes : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ key : signature : bytes : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + { DUUUP + /* [ bytes : key : signature : bytes : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + DIP { CHECK_SIGNATURE + /* [ bool : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ bytes : bool : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + SWAP + /* [ bool : bytes : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + IF { DROP + /* [ nat : bytes : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + { FAILWITH /* [] */ } } ; + PUSH nat + 1 + /* [ nat : nat : bytes : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + ADD @valid + /* [ nat : bytes : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ list (option signature) : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + { SWAP + /* [ key : list (option signature) : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + DROP + /* [ list (option signature) : nat : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } } + { FAIL } ; + SWAP + /* [ nat : list (option signature) : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ nat : list (option signature) : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } + /* [ nat : nat : list (option signature) : bytes + : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + ASSERT_CMPLE ; + IF_CONS + { FAIL } + { /* [ bytes : or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ } ; + DROP + /* [ or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + DIP { UNPAIR + /* [ nat : pair nat (list key) ] */ ; + PUSH nat 1 + /* [ nat : nat : pair nat (list key) ] */ ; + ADD @new_counter + /* [ nat : pair nat (list key) ] */ ; + PAIR + /* [ pair nat nat (list key) ] */ } + /* [ or (lambda unit (list operation)) (pair nat (list key)) + : pair nat nat (list key) ] */ ; + IF_LEFT + { UNIT + /* [ unit : lambda unit (list operation) : pair nat nat (list key) ] */ ; + EXEC + /* [ list operation : pair nat nat (list key) ] */ } + { DIP { CAR /* [ nat ] */ } + /* [ pair nat (list key) : nat ] */ ; + SWAP + /* [ nat : pair nat (list key) ] */ ; + PAIR + /* [ pair nat nat (list key) ] */ ; + NIL operation + /* [ list operation : pair nat nat (list key) ] */ } ; + PAIR + /* [ pair (list operation) nat nat (list key) ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-groth16.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-groth16.out new file mode 100644 index 000000000000..3b1835e6e2a7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-groth16.out @@ -0,0 +1,194 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/groth16.tz --details +Well typed +Gas remaining: 1039536.287 units remaining +{ storage unit ; + parameter + (pair (pair (bls12_381_fr %input_x) (bls12_381_fr %input_y)) + (pair (pair (bls12_381_g1 %proof_a) (bls12_381_g2 %proof_b)) (bls12_381_g1 %proof_c))) ; + code { CAR + /* [ pair (pair bls12_381_fr bls12_381_fr) (pair bls12_381_g1 bls12_381_g2) bls12_381_g1 ] */ ; + UNPPAIPPAIIR ; + DIP 5 + { PUSH @vk_gamma_c + bls12_381_g1 + 0x063bd6e11e2fcaac1dd8cf68c6b1925a73c3c583e298ed37c41c3715115cf96358a42dbe85a0228cbfd8a6c8a8c54cd015b5ae2860d1cc47f84698d951f14d9448d03f04df2ca0ffe609a2067d6f1a892163a5e05e541279134cae52b1f23c6b + /* [ bls12_381_g1 ] */ ; + PUSH @vk_gamma_b + bls12_381_g1 + 0x11f5b5db1da7f1f26217edcce2219d016003af6e5b4d1ca3ad0ff477e354717e658bf16beddc4f4fb76ce39d3327811e0601709dc7ed98c70463cfa1ba33f99851b52b51d1a042d7425bec6277287441c399973632445ce61e7fdd63a70f0f60 + /* [ bls12_381_g1 : bls12_381_g1 ] */ ; + PUSH @vk_gamma_a + bls12_381_g1 + 0x03535a322edd23c55b0ca025e54d450d95df49cc9ee873dcd500e8219f4771264bf159b3b105954d85c7bea8ffe1ea0400c767fe58989366c2837fba76f1b4f46644f19be8ad01e22d894b649e427e0d7e04677ee3919d982f0f96bb0a2f0c34 + /* [ bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + PUSH @vk_delta + bls12_381_g2 + 0x10c6d5cdca84fc3c7f33061add256f48e0ab03a697832b338901898b650419eb6f334b28153fb73ad2ecd1cd2ac67053161e9f46cfbdaf7b1132a4654a55162850249650f9b873ac3113fa8c02ef1cd1df481480a4457f351d28f4da89d19fa405c3d77f686dc9a24d2681c9184bf2b091f62e6b24df651a3da8bd7067e14e7908fb02f8955b84af5081614cb5bc49b416d9edf914fc608c441b3f2eb8b6043736ddb9d4e4d62334a23b5625c14ef3e1a7e99258386310221b22d83a5eac035c + /* [ bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + PUSH @vk_gamma + bls12_381_g2 + 0x16dcbd28bff336c2649c7dd1d8391ac7ce6f7ef0124a9db7a4a485a124199eded7ce963c1c18aee1eca9994fe06f192c00e0fb653e1fc737d8d0e2f2f91424ca01f6e6e7c5c04f1c43db03a2900cf6b942aaed6ae77daea6200e094b78c38d770028d531a9d1a118ec23d5a39be7aa6dc28f778da1988856d2235c4a35e81fa48380f050d4baf7ebd7b5e058bf294da916afc34562f097c02a8fcbcf62a00de44f8ae6cfa7acb8ad254e3aeea8b2af12f65b7ee0f54855cb9bd432f3436f238f + /* [ bls12_381_g2 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + PUSH @vk_b + bls12_381_g2 + 0x0e9383f98df2c6e8b5b45f3876c3384596a0cdbc41349f83c4380bf463a050cdbd1d5057aa483a642e66486d1ed7362a1869e423c3877095e215c17282b11108601166f928043254bbce603bf86f4cec9f2e97e9660e98e4f5bce9b2b3bbacb40946b702ccfcc9a31e0bfc1543a2128edcc95807740a2310ae25eb47b935648e392c58dfae5b5e899d3b970d64e4e9e209741ea8bfedcfcc16b3fd890ff02c788ec0943feaaf01bbb354317acb85fcfd611133e4e563d53ca4e0f50e21cf2e7e + /* [ bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g1 ] */ ; + PUSH @vk_a + bls12_381_g1 + 0x1040577c7d349e332735fc947c868c24a665f812f5dc1e7f60e65e2df80be2267a4b7341ed2287285fccd517acd96d910abba947235c364553aa6445f2f2b3a1a728225a330286ba5197ab87f0edc560d89fc7b623812f7d0d633341726e597a + /* [ bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g1 ] */ } + /* [ bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g1 ] */ ; + DUP + /* [ bls12_381_fr : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + DUP 12 + /* [ bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_fr : bls12_381_g1 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + MUL + /* [ bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + DUP 3 + /* [ bls12_381_fr : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + DUP 14 + /* [ bls12_381_g1 : bls12_381_fr : bls12_381_g1 : bls12_381_fr : bls12_381_fr + : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 + : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + MUL + /* [ bls12_381_g1 : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + ADD + /* [ bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + DUP 11 + /* [ bls12_381_g1 : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + ADD @vk_x + /* [ bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + NIL (pair bls12_381_g1 bls12_381_g2) + /* [ list (pair bls12_381_g1 bls12_381_g2) : bls12_381_g1 : bls12_381_fr + : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g1 ] */ ; + DUP 9 + /* [ bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) : bls12_381_g1 + : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g1 ] */ ; + DUP 9 + /* [ bls12_381_g1 : bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + NEG + /* [ bls12_381_g1 : bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + PAIR + /* [ pair bls12_381_g1 bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + CONS + /* [ list (pair bls12_381_g1 bls12_381_g2) : bls12_381_g1 : bls12_381_fr + : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g1 ] */ ; + DUP 11 + /* [ bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) : bls12_381_g1 + : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g1 ] */ ; + DUP 8 + /* [ bls12_381_g1 : bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + NEG + /* [ bls12_381_g1 : bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + PAIR + /* [ pair bls12_381_g1 bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + CONS + /* [ list (pair bls12_381_g1 bls12_381_g2) : bls12_381_g1 : bls12_381_fr + : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g1 ] */ ; + DUP 10 + /* [ bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) : bls12_381_g1 + : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g1 ] */ ; + DUP 3 + /* [ bls12_381_g1 : bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + NEG + /* [ bls12_381_g1 : bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + PAIR + /* [ pair bls12_381_g1 bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + CONS + /* [ list (pair bls12_381_g1 bls12_381_g2) : bls12_381_g1 : bls12_381_fr + : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g1 ] */ ; + DUP 6 + /* [ bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) : bls12_381_g1 + : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 + : bls12_381_g1 : bls12_381_g1 ] */ ; + DUP 6 + /* [ bls12_381_g1 : bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + PAIR + /* [ pair bls12_381_g1 bls12_381_g2 : list (pair bls12_381_g1 bls12_381_g2) + : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + CONS + /* [ list (pair bls12_381_g1 bls12_381_g2) : bls12_381_g1 : bls12_381_fr + : bls12_381_fr : bls12_381_g1 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g2 : bls12_381_g2 : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 + : bls12_381_g1 ] */ ; + PAIRING_CHECK + /* [ bool : bls12_381_g1 : bls12_381_fr : bls12_381_fr : bls12_381_g1 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g2 : bls12_381_g2 + : bls12_381_g2 : bls12_381_g1 : bls12_381_g1 : bls12_381_g1 ] */ ; + ASSERT ; + DROP 13 + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-hardlimit.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-hardlimit.out new file mode 100644 index 000000000000..c1c4e60e249e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-hardlimit.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/hardlimit.tz --details +Well typed +Gas remaining: 1039992.503 units remaining +{ parameter unit ; + storage int ; + code { CDR + /* [ int ] */ ; + DUP + /* [ int : int ] */ ; + PUSH int 0 + /* [ int : int : int ] */ ; + CMPLT ; + IF { PUSH int -1 /* [ int : int ] */ ; ADD /* [ int ] */ } { FAIL } ; + NIL operation + /* [ list operation : int ] */ ; + PAIR + /* [ pair (list operation) int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_error.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_error.out new file mode 100644 index 000000000000..dfa9899469af --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_error.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/large_error.tz --details +Well typed +Gas remaining: 1039991.492 units remaining +{ parameter int ; + storage unit ; + code { CAR + /* [ int ] */ ; + PUSH string "a" + /* [ string : int ] */ ; + SWAP + /* [ int : string ] */ ; + PUSH bool True + /* [ bool : int : string ] */ ; + LOOP { SWAP + /* [ string : int ] */ ; + DUP + /* [ string : string : int ] */ ; + CONCAT + /* [ string : int ] */ ; + SWAP + /* [ int : string ] */ ; + PUSH int -1 + /* [ int : int : string ] */ ; + ADD + /* [ int : string ] */ ; + DUP + /* [ int : int : string ] */ ; + GT + /* [ bool : int : string ] */ } + /* [ int : string ] */ ; + DROP + /* [ string ] */ ; + FAILWITH + /* [] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_flat_contract.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_flat_contract.out new file mode 100644 index 000000000000..5af1036b20a7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_flat_contract.out @@ -0,0 +1,3634 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/large_flat_contract.tz --details +Well typed +Gas remaining: 1035259.369 units remaining +{ parameter unit ; + storage unit ; + code { { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + { UNIT /* [ unit : pair unit unit ] */ ; DROP /* [ pair unit unit ] */ } ; + CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_str_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_str_id.out new file mode 100644 index 000000000000..250406b39fa2 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-large_str_id.out @@ -0,0 +1,19614 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/large_str_id.tz --details +Well typed +Gas remaining: 1032066.594 units remaining +{ parameter (or int unit) ; + storage (pair string string) ; + code { UNPAIR + /* [ or int unit : pair string string ] */ ; + IF_LEFT + { DIP 1 { UNPAIR /* [ string : string ] */ ; DROP /* [ string ] */ } + /* [ int : string ] */ ; + DUP + /* [ int : int : string ] */ ; + NEQ + /* [ bool : int : string ] */ ; + LOOP { SWAP + /* [ string : int ] */ ; + DUP + /* [ string : string : int ] */ ; + CONCAT + /* [ string : int ] */ ; + SWAP + /* [ int : string ] */ ; + PUSH int 1 + /* [ int : int : string ] */ ; + SWAP + /* [ int : int : string ] */ ; + SUB + /* [ int : string ] */ ; + DUP + /* [ int : int : string ] */ ; + NEQ + /* [ bool : int : string ] */ } + /* [ int : string ] */ ; + DROP + /* [ string ] */ ; + DUP + /* [ string : string ] */ ; + PAIR + /* [ pair string string ] */ } + { DROP + /* [ pair string string ] */ ; + UNPAIR + /* [ string : string ] */ ; + DUP + /* [ string : string : string ] */ ; + DIP 1 { CONCAT /* [ string ] */ } + /* [ string : string ] */ ; + PAIR + /* [ pair string string ] */ } ; + NIL operation + /* [ list operation : pair string string ] */ ; + PAIR + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ ; + DUP + /* [ pair (list operation) string string : pair (list operation) string string ] */ ; + DROP + /* [ pair (list operation) string string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-legacy_multisig.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-legacy_multisig.out new file mode 100644 index 000000000000..9e6a7eee4dc6 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-legacy_multisig.out @@ -0,0 +1,254 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/legacy_multisig.tz --details +Well typed +Gas remaining: 1039943.391 units remaining +{ parameter + (pair (pair :payload + (nat %counter) + (or :action + (pair :transfer (mutez %amount) (contract %dest unit)) + (or (option %delegate key_hash) + (pair %change_keys (nat %threshold) (list %keys key))))) + (list %sigs (option signature))) ; + storage (pair (nat %stored_counter) (pair (nat %threshold) (list %keys key))) ; + code { UNPAIR + /* [ pair (pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))))) + (list (option signature)) : pair nat nat (list key) ] */ ; + SWAP + /* [ pair nat nat (list key) + : pair (pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))))) + (list (option signature)) ] */ ; + DUP + /* [ pair nat nat (list key) : pair nat nat (list key) + : pair (pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))))) + (list (option signature)) ] */ ; + DIP { SWAP + /* [ pair (pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))))) + (list (option signature)) : pair nat nat (list key) ] */ } + /* [ pair nat nat (list key) + : pair (pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))))) + (list (option signature)) : pair nat nat (list key) ] */ ; + DIP { UNPAIR + /* [ pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : list (option signature) : pair nat nat (list key) ] */ ; + DUP + /* [ pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : list (option signature) : pair nat nat (list key) ] */ ; + SELF + /* [ contract + (pair (pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))))) + (list (option signature))) + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : list (option signature) : pair nat nat (list key) ] */ ; + ADDRESS + /* [ address + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : list (option signature) : pair nat nat (list key) ] */ ; + CHAIN_ID + /* [ chain_id : address + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : list (option signature) : pair nat nat (list key) ] */ ; + PAIR + /* [ pair chain_id address + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : list (option signature) : pair nat nat (list key) ] */ ; + PAIR + /* [ pair (pair chain_id address) + nat + (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : list (option signature) : pair nat nat (list key) ] */ ; + PACK + /* [ bytes + : pair nat (or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key)))) + : list (option signature) : pair nat nat (list key) ] */ ; + DIP { UNPAIR @counter + /* [ nat + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : list (option signature) : pair nat nat (list key) ] */ ; + DIP { SWAP + /* [ list (option signature) + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ nat : list (option signature) + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ bytes : nat : list (option signature) + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + SWAP + /* [ nat : bytes : list (option signature) + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ pair nat nat (list key) : nat : bytes : list (option signature) + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + UNPAIR @stored_counter + /* [ nat : pair nat (list key) : nat : bytes : list (option signature) + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + DIP { SWAP + /* [ nat : pair nat (list key) : bytes : list (option signature) + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ nat : nat : pair nat (list key) : bytes : list (option signature) + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + ASSERT_CMPEQ ; + DIP { SWAP + /* [ list (option signature) : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ pair nat (list key) : list (option signature) : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + UNPAIR @threshold @keys + /* [ nat : list key : list (option signature) : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + DIP { PUSH @valid + nat + 0 + /* [ nat : list key : list (option signature) : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + SWAP + /* [ list key : nat : list (option signature) : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + ITER { DIP { SWAP + /* [ list (option signature) : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ key : list (option signature) : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + SWAP + /* [ list (option signature) : key : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + IF_CONS + { IF_SOME + { SWAP + /* [ list (option signature) : signature : key : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + DIP { SWAP + /* [ key : signature : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + DIIP { DUUP + /* [ bytes : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ key : signature : bytes : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + { DUUUP + /* [ bytes : key : signature : bytes : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + DIP { CHECK_SIGNATURE + /* [ bool : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ bytes : bool : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + SWAP + /* [ bool : bytes : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + IF { DROP + /* [ nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + { FAILWITH /* [] */ } } ; + PUSH nat + 1 + /* [ nat : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + ADD @valid + /* [ nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ list (option signature) : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + { SWAP + /* [ key : list (option signature) : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + DROP + /* [ list (option signature) : nat : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } } + { FAIL } ; + SWAP + /* [ nat : list (option signature) : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ nat : list (option signature) : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ } + /* [ nat : nat : list (option signature) : bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + ASSERT_CMPLE ; + DROP + /* [ bytes + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + DROP + /* [ or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + DIP { UNPAIR + /* [ nat : pair nat (list key) ] */ ; + PUSH nat 1 + /* [ nat : nat : pair nat (list key) ] */ ; + ADD @new_counter + /* [ nat : pair nat (list key) ] */ ; + PAIR + /* [ pair nat nat (list key) ] */ } + /* [ or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + NIL operation + /* [ list operation + : or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : pair nat nat (list key) ] */ ; + SWAP + /* [ or (pair mutez (contract unit)) (or (option key_hash) (pair nat (list key))) + : list operation : pair nat nat (list key) ] */ ; + IF_LEFT + { UNPAIR + /* [ mutez : contract unit : list operation : pair nat nat (list key) ] */ ; + UNIT + /* [ unit : mutez : contract unit : list operation : pair nat nat (list key) ] */ ; + TRANSFER_TOKENS + /* [ operation : list operation : pair nat nat (list key) ] */ ; + CONS + /* [ list operation : pair nat nat (list key) ] */ } + { IF_LEFT + { SET_DELEGATE + /* [ operation : list operation : pair nat nat (list key) ] */ ; + CONS + /* [ list operation : pair nat nat (list key) ] */ } + { DIP { SWAP + /* [ pair nat nat (list key) : list operation ] */ ; + CAR + /* [ nat : list operation ] */ } + /* [ pair nat (list key) : nat : list operation ] */ ; + SWAP + /* [ nat : pair nat (list key) : list operation ] */ ; + PAIR + /* [ pair nat nat (list key) : list operation ] */ ; + SWAP + /* [ list operation : pair nat nat (list key) ] */ } } ; + PAIR + /* [ pair (list operation) nat nat (list key) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-lockup.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-lockup.out new file mode 100644 index 000000000000..47b370c29116 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-lockup.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/lockup.tz --details +Well typed +Gas remaining: 1039983.115 units remaining +{ parameter unit ; + storage (pair timestamp (pair mutez address)) ; + code { CDR + /* [ pair timestamp mutez address ] */ ; + DUP + /* [ pair timestamp mutez address : pair timestamp mutez address ] */ ; + CAR + /* [ timestamp : pair timestamp mutez address ] */ ; + NOW + /* [ timestamp : timestamp : pair timestamp mutez address ] */ ; + CMPLT ; + IF { FAIL } { /* [ pair timestamp mutez address ] */ } ; + DUP + /* [ pair timestamp mutez address : pair timestamp mutez address ] */ ; + CDR + /* [ pair mutez address : pair timestamp mutez address ] */ ; + DUP + /* [ pair mutez address : pair mutez address : pair timestamp mutez address ] */ ; + CAR + /* [ mutez : pair mutez address : pair timestamp mutez address ] */ ; + DIP { CDR /* [ address : pair timestamp mutez address ] */ } + /* [ mutez : address : pair timestamp mutez address ] */ ; + DIP { CONTRACT unit + /* [ option (contract unit) : pair timestamp mutez address ] */ ; + ASSERT_SOME } + /* [ mutez : contract unit : pair timestamp mutez address ] */ ; + UNIT + /* [ unit : mutez : contract unit : pair timestamp mutez address ] */ ; + TRANSFER_TOKENS + /* [ operation : pair timestamp mutez address ] */ ; + NIL operation + /* [ list operation : operation : pair timestamp mutez address ] */ ; + SWAP + /* [ operation : list operation : pair timestamp mutez address ] */ ; + CONS + /* [ list operation : pair timestamp mutez address ] */ ; + PAIR + /* [ pair (list operation) timestamp mutez address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-loop.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-loop.out new file mode 100644 index 000000000000..7dedb1d19a0d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-loop.out @@ -0,0 +1,31 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/loop.tz --details +Well typed +Gas remaining: 1039992.614 units remaining +{ parameter int ; + storage unit ; + code { CAR + /* [ int ] */ ; + DUP + /* [ int : int ] */ ; + GT + /* [ bool : int ] */ ; + LOOP { PUSH int 1 + /* [ int : int ] */ ; + SWAP + /* [ int : int ] */ ; + SUB + /* [ int ] */ ; + DUP + /* [ int : int ] */ ; + GT + /* [ bool : int ] */ } + /* [ int ] */ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-lqt_fa12.mligo.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-lqt_fa12.mligo.out new file mode 100644 index 000000000000..ed973e4f1f0a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-lqt_fa12.mligo.out @@ -0,0 +1,1385 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/lqt_fa12.mligo.tz --details +Well typed +Gas remaining: 1039738.642 units remaining +{ parameter + (or (or (or (pair %approve (address %spender) (nat %value)) + (pair %getAllowance + (pair %request (address %owner) (address %spender)) + (contract %callback nat))) + (or (pair %getBalance (address %owner) (contract %callback nat)) + (pair %getTotalSupply (unit %request) (contract %callback nat)))) + (or (pair %mintOrBurn (int %quantity) (address %target)) + (pair %transfer (address %from) (pair (address %to) (nat %value))))) ; + storage + (pair (big_map %tokens address nat) + (pair (big_map %allowances (pair (address %owner) (address %spender)) nat) + (pair (address %admin) (nat %total_supply)))) ; + code { DUP + /* [ pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat + : pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ ; + CDR + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ ; + PUSH mutez + 0 + /* [ mutez + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ ; + AMOUNT + /* [ mutez : mutez + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ ; + COMPARE + /* [ int + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ ; + NEQ + /* [ bool + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ ; + IF { PUSH string + "DontSendTez" + /* [ string + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ ; + FAILWITH + /* [] */ } + { /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ } ; + SWAP + /* [ pair (or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat))) + (big_map address nat) + (big_map (pair address address) nat) + address + nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ or (or (or (pair address nat) (pair (pair address address) (contract nat))) + (or (pair address (contract nat)) (pair unit (contract nat)))) + (or (pair int address) (pair address address nat)) + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_LEFT + { IF_LEFT + { IF_LEFT + { SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address nat ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address nat ] */ ; + DUG 2 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ pair address nat : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address nat : pair address nat : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 2 + /* [ pair address nat : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SENDER + /* [ address : address : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PUSH nat + 0 + /* [ nat : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ pair address nat : nat : pair address address + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address nat : pair address nat : nat : pair address address + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 4 + /* [ pair address nat : nat : pair address address + : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ nat : nat : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + COMPARE + /* [ int : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + GT + /* [ bool : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PUSH nat + 0 + /* [ nat : bool : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ big_map (pair address address) nat : nat : bool : pair address address + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ big_map (pair address address) nat : big_map (pair address address) nat + : nat : bool : pair address address : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 4 + /* [ big_map (pair address address) nat : nat : bool : pair address address + : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ pair address address : big_map (pair address address) nat : nat : bool + : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address : pair address address + : big_map (pair address address) nat : nat : bool + : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 4 + /* [ pair address address : big_map (pair address address) nat : nat : bool + : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + GET + /* [ option nat : nat : bool : pair address address + : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : nat : bool : pair address address + : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { /* [ nat : nat : bool : pair address address + : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + COMPARE + /* [ int : bool : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + GT + /* [ bool : bool : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + AND + /* [ bool : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF { PUSH string + "UnsafeAllowanceChange" + /* [ string : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + FAILWITH + /* [] */ } + { /* [ pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + DIG 3 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address address : big_map (pair address address) nat + : pair address nat ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address address : big_map (pair address address) nat + : pair address nat ] */ ; + DUG 4 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat + : pair address address : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : pair address address + : big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ big_map (pair address address) nat : pair address nat + : pair address address : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ pair address nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PUSH nat + 0 + /* [ nat : nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ nat : nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ nat : nat : nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 2 + /* [ nat : nat : nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + COMPARE + /* [ int : nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + EQ + /* [ bool : nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF { DROP + /* [ big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NONE nat + /* [ option nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { SOME + /* [ option nat : big_map (pair address address) nat : pair address nat + : pair address address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + DIG 3 + /* [ pair address address : option nat : big_map (pair address address) nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + UPDATE + /* [ big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map address nat + : pair (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NIL operation + /* [ list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (list operation) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ } + { SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (pair address address) (contract nat) ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (pair address address) (contract nat) ] */ ; + DIG 2 + /* [ pair (pair address address) (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NIL operation + /* [ list operation : pair (pair address address) (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ pair (pair address address) (contract nat) : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair (pair address address) (contract nat) + : pair (pair address address) (contract nat) : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 2 + /* [ pair (pair address address) (contract nat) : list operation + : pair (pair address address) (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ contract nat : list operation : pair (pair address address) (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PUSH mutez + 0 + /* [ mutez : contract nat : list operation + : pair (pair address address) (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 4 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : mutez : contract nat : list operation + : pair (pair address address) (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat : mutez + : contract nat : list operation : pair (pair address address) (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map (pair address address) nat : mutez : contract nat : list operation + : pair (pair address address) (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 4 + /* [ pair (pair address address) (contract nat) + : big_map (pair address address) nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ pair address address : big_map (pair address address) nat : mutez + : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + GET + /* [ option nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { /* [ nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + TRANSFER_TOKENS + /* [ operation : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CONS + /* [ list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (list operation) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ } } + { IF_LEFT + { SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address (contract nat) ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address (contract nat) ] */ ; + DIG 2 + /* [ pair address (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NIL operation + /* [ list operation : pair address (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ pair address (contract nat) : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address (contract nat) : pair address (contract nat) : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 2 + /* [ pair address (contract nat) : list operation : pair address (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ contract nat : list operation : pair address (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PUSH mutez + 0 + /* [ mutez : contract nat : list operation : pair address (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 4 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : mutez : contract nat : list operation : pair address (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map address nat : mutez : contract nat : list operation + : pair address (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 4 + /* [ pair address (contract nat) : big_map address nat : mutez : contract nat + : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : big_map address nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + GET + /* [ option nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { /* [ nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + TRANSFER_TOKENS + /* [ operation : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CONS + /* [ list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (list operation) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ } + { SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair unit (contract nat) ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair unit (contract nat) ] */ ; + DIG 2 + /* [ pair unit (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NIL operation + /* [ list operation : pair unit (contract nat) + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ pair unit (contract nat) : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PUSH mutez + 0 + /* [ mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat : mutez + : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ nat : mutez : contract nat : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + TRANSFER_TOKENS + /* [ operation : list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CONS + /* [ list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (list operation) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ } } } + { IF_LEFT + { SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair int address ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair int address ] */ ; + DUG 2 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SENDER + /* [ address : address : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + COMPARE + /* [ int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NEQ + /* [ bool : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF { PUSH string + "OnlyAdmin" + /* [ string : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + FAILWITH + /* [] */ } + { /* [ pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + DUP + /* [ pair int address : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : int : pair int address ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : int : pair int address ] */ ; + DUG 3 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map address nat : int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ pair int address : big_map address nat : int + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair int address : pair int address : big_map address nat : int + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 3 + /* [ pair int address : big_map address nat : int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ address : big_map address nat : int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + GET + /* [ option nat : int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { /* [ nat : int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + ADD + /* [ int : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + ISNAT + /* [ option nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH string + "Cannot burn more than the target's balance." + /* [ string : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + SWAP + /* [ pair int address : nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair int address : pair int address : nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 2 + /* [ pair int address : nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ int : nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : int : nat : pair int address ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : int : nat : pair int address ] */ ; + DUG 4 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : int : nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat : int : nat + : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : int : nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ nat : int : nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + ADD + /* [ int : nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + ABS + /* [ nat : nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : nat : nat : pair int address ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : nat : nat : pair int address ] */ ; + DUG 4 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : nat : nat : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat : nat : nat + : pair int address + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 4 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map (pair address address) nat) address nat : nat : nat + : pair int address ] */ ; + CAR + /* [ big_map address nat : pair (big_map (pair address address) nat) address nat + : nat : nat : pair int address ] */ ; + PUSH nat + 0 + /* [ nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat : nat + : pair int address ] */ ; + DIG 4 + /* [ nat : nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat + : pair int address ] */ ; + DUP + /* [ nat : nat : nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat + : pair int address ] */ ; + DUG 5 + /* [ nat : nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat : nat + : pair int address ] */ ; + COMPARE + /* [ int : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat : nat + : pair int address ] */ ; + EQ + /* [ bool : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat : nat + : pair int address ] */ ; + IF { DIG 3 + /* [ nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat + : pair int address ] */ ; + DROP + /* [ big_map address nat : pair (big_map (pair address address) nat) address nat + : nat : pair int address ] */ ; + NONE nat + /* [ option nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat + : pair int address ] */ } + { DIG 3 + /* [ nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat + : pair int address ] */ ; + SOME + /* [ option nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat + : pair int address ] */ } ; + DIG 4 + /* [ pair int address : option nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat ] */ ; + CDR + /* [ address : option nat : big_map address nat + : pair (big_map (pair address address) nat) address nat : nat ] */ ; + UPDATE + /* [ big_map address nat : pair (big_map (pair address address) nat) address nat + : nat ] */ ; + PAIR + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : nat ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : nat ] */ ; + DUG 2 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat : nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address nat ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address nat ] */ ; + DUG 2 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map address nat + : pair (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NIL operation + /* [ list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (list operation) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ } + { SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address address nat ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address address nat ] */ ; + DUG 2 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : big_map (pair address address) nat : pair address address nat ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : big_map (pair address address) nat : pair address address nat ] */ ; + DUG 3 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ pair address address nat : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 3 + /* [ pair address address nat : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SENDER + /* [ address : address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + COMPARE + /* [ int : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + EQ + /* [ bool : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF { SWAP + /* [ big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { SENDER + /* [ address : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ pair address address nat : address : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat : address + : big_map address nat : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 4 + /* [ pair address address nat : address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ pair address address nat : pair address address : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat : pair address address + : big_map address nat : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 4 + /* [ pair address address nat : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ nat : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 3 + /* [ big_map (pair address address) nat : nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ big_map (pair address address) nat : big_map (pair address address) nat + : nat : pair address address : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 4 + /* [ big_map (pair address address) nat : nat : pair address address + : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ pair address address : big_map (pair address address) nat : nat + : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address : pair address address + : big_map (pair address address) nat : nat : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 3 + /* [ pair address address : big_map (pair address address) nat : nat + : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + GET + /* [ option nat : nat : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : nat : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { /* [ nat : nat : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + SUB + /* [ int : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + ISNAT + /* [ option nat : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH string + "NotEnoughAllowance" + /* [ string : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat : pair address address : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + DIG 3 + /* [ big_map (pair address address) nat : nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PUSH nat + 0 + /* [ nat : big_map (pair address address) nat : nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ nat : nat : big_map (pair address address) nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ nat : nat : nat : big_map (pair address address) nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 3 + /* [ nat : nat : big_map (pair address address) nat : nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + COMPARE + /* [ int : big_map (pair address address) nat : nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + EQ + /* [ bool : big_map (pair address address) nat : nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF { SWAP + /* [ nat : big_map (pair address address) nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DROP + /* [ big_map (pair address address) nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NONE nat + /* [ option nat : big_map (pair address address) nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { SWAP + /* [ nat : big_map (pair address address) nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SOME + /* [ option nat : big_map (pair address address) nat : pair address address + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + DIG 2 + /* [ pair address address : option nat : big_map (pair address address) nat + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + UPDATE + /* [ big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + DIG 2 + /* [ pair address address nat : big_map (pair address address) nat + : big_map address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat + : big_map (pair address address) nat : big_map address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 3 + /* [ pair address address nat : big_map (pair address address) nat + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ nat : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ big_map address nat : big_map address nat : nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 3 + /* [ big_map address nat : nat : big_map (pair address address) nat + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 4 + /* [ pair address address nat : big_map address nat : nat + : big_map (pair address address) nat : big_map address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat : big_map address nat + : nat : big_map (pair address address) nat : big_map address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 5 + /* [ pair address address nat : big_map address nat : nat + : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : big_map address nat : nat : big_map (pair address address) nat + : big_map address nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + GET + /* [ option nat : nat : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : nat : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { /* [ nat : nat : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + SUB + /* [ int : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + ISNAT + /* [ option nat : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH string + "NotEnoughBalance" + /* [ string : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + FAILWITH + /* [] */ } + { /* [ nat : big_map (pair address address) nat : big_map address nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + DIG 2 + /* [ big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PUSH nat + 0 + /* [ nat : big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ nat : nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ nat : nat : nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 3 + /* [ nat : nat : big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + COMPARE + /* [ int : big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + EQ + /* [ bool : big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF { SWAP + /* [ nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DROP + /* [ big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NONE nat + /* [ option nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { SWAP + /* [ nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SOME + /* [ option nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + DIG 3 + /* [ pair address address nat : option nat : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat : option nat + : big_map address nat : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 4 + /* [ pair address address nat : option nat : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : option nat : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + UPDATE + /* [ big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ pair address address nat : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 3 + /* [ pair address address nat : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ big_map address nat : big_map address nat : nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 2 + /* [ big_map address nat : nat : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 4 + /* [ pair address address nat : big_map address nat : nat : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ pair address address nat : pair address address nat : big_map address nat + : nat : big_map address nat : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 5 + /* [ pair address address nat : big_map address nat : nat : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : big_map address nat : nat : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : big_map address nat : nat : big_map address nat + : big_map (pair address address) nat : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + GET + /* [ option nat : nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF_NONE + { PUSH nat + 0 + /* [ nat : nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { /* [ nat : nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + ADD + /* [ nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PUSH nat + 0 + /* [ nat : big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ nat : nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUP + /* [ nat : nat : nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DUG 3 + /* [ nat : nat : big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + COMPARE + /* [ int : big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + EQ + /* [ bool : big_map address nat : nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + IF { SWAP + /* [ nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DROP + /* [ big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NONE nat + /* [ option nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } + { SWAP + /* [ nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SOME + /* [ option nat : big_map address nat : big_map (pair address address) nat + : pair address address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ } ; + DIG 3 + /* [ pair address address nat : option nat : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CDR + /* [ pair address nat : option nat : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ address : option nat : big_map address nat + : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + UPDATE + /* [ big_map address nat : big_map (pair address address) nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + DIG 2 + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : big_map address nat : big_map (pair address address) nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat : big_map address nat + : big_map (pair address address) nat ] */ ; + SWAP + /* [ big_map address nat : pair (big_map (pair address address) nat) address nat + : big_map (pair address address) nat ] */ ; + PAIR + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : big_map (pair address address) nat ] */ ; + DUP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : big_map (pair address address) nat ] */ ; + CDR + /* [ pair (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : big_map (pair address address) nat ] */ ; + CDR + /* [ pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat + : big_map (pair address address) nat ] */ ; + DIG 2 + /* [ big_map (pair address address) nat : pair address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (big_map (pair address address) nat) address nat + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + SWAP + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat + : pair (big_map (pair address address) nat) address nat ] */ ; + CAR + /* [ big_map address nat + : pair (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + NIL operation + /* [ list operation + : pair (big_map address nat) (big_map (pair address address) nat) address nat ] */ ; + PAIR + /* [ pair (list operation) + (big_map address nat) + (big_map (pair address address) nat) + address + nat ] */ } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multiple_en2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multiple_en2.out new file mode 100644 index 000000000000..38664ee88974 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multiple_en2.out @@ -0,0 +1,165 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/multiple_en2.tz --details +Well typed +Gas remaining: 1039928.052 units remaining +{ parameter unit ; + storage (option address) ; + code { SENDER + /* [ address : pair unit (option address) ] */ ; + SELF + /* [ contract unit : address : pair unit (option address) ] */ ; + ADDRESS + /* [ address : address : pair unit (option address) ] */ ; + { /* [ pair (or (or nat nat) unit) int ] */ + COMPARE + /* [ mutez : mutez : pair (or (or nat nat) unit) int ] */ ; + EQ + /* [ bool : pair unit (option address) ] */ ; + IF { CDR + /* [ option address ] */ ; + { /* [ mutez : mutez : pair (or (or nat nat) unit) int ] */ + IF_NONE + { { /* [ pair (or (or nat nat) unit) int ] */ UNIT /* [ unit ] */ ; FAILWITH /* [] */ } } + { /* [ pair (or (or nat nat) unit) int ] */ } + /* [ bool : pair (or (or nat nat) unit) int ] */ } ; + DIP { NIL operation + /* [ pair (or (or nat nat) unit) int : pair (or (or nat nat) unit) int ] */ + /* [ list operation ] */ } + /* [] */ ; + DUP + /* [ or (or nat nat) unit : pair (or (or nat nat) unit) int ] */ ; + CONTRACT %add unit + /* [ or (or nat nat) unit : int ] */ ; + { /* [ pair (or (or nat nat) unit) int ] */ + IF_NONE + { /* [ address : list operation ] */ } + { { UNIT /* [ int ] */ ; FAILWITH /* [] */ } } } ; + DUP + /* [ int : nat ] */ ; + CONTRACT %fact nat + /* [ int ] */ ; + { /* [ unit : int ] */ + IF_NONE { /* [] */ } { { UNIT /* [ list operation : int ] */ ; FAILWITH /* [] */ } } + /* [] */ } ; + DUP + /* [ pair (list operation) int ] */ ; + CONTRACT %add nat + /* [ option (contract nat) : address : list operation ] */ ; + { IF_NONE + { { UNIT /* [ unit : address : list operation ] */ ; FAILWITH /* [] */ } } + { /* [ contract nat : address : list operation ] */ } } ; + PUSH mutez 0 + /* [ mutez : contract nat : address : list operation ] */ ; + PUSH nat 12 + /* [ nat : mutez : contract nat : address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : address : list operation ] */ ; + SWAP + /* [ address : operation : list operation ] */ ; + DIP { CONS /* [ list operation ] */ } + /* [ address : list operation ] */ ; + DUP + /* [ address : address : list operation ] */ ; + CONTRACT unit + /* [ option (contract unit) : address : list operation ] */ ; + { IF_NONE + { { UNIT /* [ unit : address : list operation ] */ ; FAILWITH /* [] */ } } + { /* [ contract unit : address : list operation ] */ } } ; + PUSH mutez 0 + /* [ mutez : contract unit : address : list operation ] */ ; + PUSH unit Unit + /* [ unit : mutez : contract unit : address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : address : list operation ] */ ; + SWAP + /* [ address : operation : list operation ] */ ; + DIP { CONS /* [ list operation ] */ } + /* [ address : list operation ] */ ; + DUP + /* [ address : address : list operation ] */ ; + CONTRACT %sub nat + /* [ option (contract nat) : address : list operation ] */ ; + { IF_NONE + { { UNIT /* [ unit : address : list operation ] */ ; FAILWITH /* [] */ } } + { /* [ contract nat : address : list operation ] */ } } ; + PUSH mutez 0 + /* [ mutez : contract nat : address : list operation ] */ ; + PUSH nat 3 + /* [ nat : mutez : contract nat : address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : address : list operation ] */ ; + SWAP + /* [ address : operation : list operation ] */ ; + DIP { CONS /* [ list operation ] */ } + /* [ address : list operation ] */ ; + DUP + /* [ address : address : list operation ] */ ; + CONTRACT %add nat + /* [ option (contract nat) : address : list operation ] */ ; + { IF_NONE + { { UNIT /* [ unit : address : list operation ] */ ; FAILWITH /* [] */ } } + { /* [ contract nat : address : list operation ] */ } } ; + PUSH mutez 0 + /* [ mutez : contract nat : address : list operation ] */ ; + PUSH nat 5 + /* [ nat : mutez : contract nat : address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : address : list operation ] */ ; + SWAP + /* [ address : operation : list operation ] */ ; + DIP { CONS /* [ list operation ] */ } + /* [ address : list operation ] */ ; + DROP + /* [ list operation ] */ ; + DIP { NONE address /* [ option address ] */ } + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } + { CAR + /* [ unit ] */ ; + DUP + /* [ unit : unit ] */ ; + DIP { DIP { PUSH int 0 + /* [ int ] */ ; + PUSH mutez 0 + /* [ mutez : int ] */ ; + NONE key_hash + /* [ option key_hash : mutez : int ] */ } + /* [ unit : option key_hash : mutez : int ] */ ; + DROP + /* [ option key_hash : mutez : int ] */ ; + CREATE_CONTRACT + { parameter (or (or (nat %add) (nat %sub)) (unit %default)) ; + storage int ; + code { AMOUNT ; + PUSH mutez 0 ; + { { COMPARE ; EQ } ; IF {} { { UNIT ; FAILWITH } } } ; + { { DUP ; CAR ; DIP { CDR } } } ; + IF_LEFT + { IF_LEFT { ADD } { SWAP ; SUB } } + { DROP ; DROP ; PUSH int 0 } ; + NIL operation ; + PAIR } } + /* [ operation : address ] */ } + /* [ unit : operation : address ] */ ; + DIP { SELF + /* [ contract unit : operation : address ] */ ; + PUSH mutez 0 + /* [ mutez : contract unit : operation : address ] */ } + /* [ unit : mutez : contract unit : operation : address ] */ ; + TRANSFER_TOKENS + /* [ operation : operation : address ] */ ; + NIL operation + /* [ list operation : operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : operation : address ] */ ; + CONS + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + DIP { SOME /* [ option address ] */ } + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multiple_entrypoints_counter.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multiple_entrypoints_counter.out new file mode 100644 index 000000000000..765c01e4d3e7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multiple_entrypoints_counter.out @@ -0,0 +1,148 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/multiple_entrypoints_counter.tz --details +Well typed +Gas remaining: 1039930.762 units remaining +{ parameter unit ; + storage (option address) ; + code { SENDER + /* [ address : pair unit (option address) ] */ ; + SELF + /* [ contract unit : address : pair unit (option address) ] */ ; + ADDRESS + /* [ address : address : pair unit (option address) ] */ ; + IFCMPEQ + { CDR + /* [ option address ] */ ; + ASSERT_SOME + /* [ int : pair (or (or nat nat) unit) int ] */ ; + DIP { /* [ pair (or (or nat nat) unit) int ] */ NIL operation /* [ list operation ] */ } + /* [] */ ; + DUP + /* [ address : address : list operation ] */ ; + CONTRACT %add + unit + /* [ int ] */ + /* [ option (contract unit) : address : list operation ] */ ; + ASSERT_NONE ; + DUP + /* [ address : address : list operation ] */ ; + CONTRACT %fact + nat + /* [ list operation : int ] */ + /* [ option (contract nat) : address : list operation ] */ ; + ASSERT_NONE ; + DUP + /* [ address : address : list operation ] */ ; + CONTRACT %add nat + /* [ option (contract nat) : address : list operation ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract nat : address : list operation ] */ ; + PUSH nat 12 + /* [ nat : mutez : contract nat : address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : address : list operation ] */ ; + SWAP + /* [ address : operation : list operation ] */ ; + DIP { CONS /* [ list operation ] */ } + /* [ address : list operation ] */ ; + DUP + /* [ address : address : list operation ] */ ; + CONTRACT unit + /* [ option (contract unit) : address : list operation ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract unit : address : list operation ] */ ; + PUSH unit Unit + /* [ unit : mutez : contract unit : address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : address : list operation ] */ ; + SWAP + /* [ address : operation : list operation ] */ ; + DIP { CONS /* [ list operation ] */ } + /* [ address : list operation ] */ ; + DUP + /* [ address : address : list operation ] */ ; + CONTRACT %sub nat + /* [ option (contract nat) : address : list operation ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract nat : address : list operation ] */ ; + PUSH nat 3 + /* [ nat : mutez : contract nat : address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : address : list operation ] */ ; + SWAP + /* [ address : operation : list operation ] */ ; + DIP { CONS /* [ list operation ] */ } + /* [ address : list operation ] */ ; + DUP + /* [ address : address : list operation ] */ ; + CONTRACT %add nat + /* [ option (contract nat) : address : list operation ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract nat : address : list operation ] */ ; + PUSH nat 5 + /* [ nat : mutez : contract nat : address : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : address : list operation ] */ ; + SWAP + /* [ address : operation : list operation ] */ ; + DIP { CONS /* [ list operation ] */ } + /* [ address : list operation ] */ ; + DROP + /* [ list operation ] */ ; + DIP { NONE address /* [ option address ] */ } + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } + { CAR + /* [ unit ] */ ; + DUP + /* [ unit : unit ] */ ; + DIP { DIP { PUSH int 0 + /* [ int ] */ ; + PUSH mutez 0 + /* [ mutez : int ] */ ; + NONE key_hash + /* [ option key_hash : mutez : int ] */ } + /* [ unit : option key_hash : mutez : int ] */ ; + DROP + /* [ option key_hash : mutez : int ] */ ; + CREATE_CONTRACT + { parameter (or (or (nat %add) (nat %sub)) (unit %default)) ; + storage int ; + code { AMOUNT ; + PUSH mutez 0 ; + ASSERT_CMPEQ ; + UNPAIR ; + IF_LEFT + { IF_LEFT { ADD } { SWAP ; SUB } } + { DROP ; DROP ; PUSH int 0 } ; + NIL operation ; + PAIR } } + /* [ operation : address ] */ } + /* [ unit : operation : address ] */ ; + DIP { SELF + /* [ contract unit : operation : address ] */ ; + PUSH mutez 0 + /* [ mutez : contract unit : operation : address ] */ } + /* [ unit : mutez : contract unit : operation : address ] */ ; + TRANSFER_TOKENS + /* [ operation : operation : address ] */ ; + NIL operation + /* [ list operation : operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : operation : address ] */ ; + CONS + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + DIP { SOME /* [ option address ] */ } + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } + /* [ mutez : pair (or (or nat nat) unit) int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multisig_dest_entrypoint.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multisig_dest_entrypoint.out new file mode 100644 index 000000000000..fe6da8066f7b --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multisig_dest_entrypoint.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/multisig_dest_entrypoint.tz --details +Well typed +Gas remaining: 1039997.740 units remaining +{ parameter (or (unit %a) (string %b)) ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multisig_dest_entrypoint_arg.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multisig_dest_entrypoint_arg.out new file mode 100644 index 000000000000..67194de83d91 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-multisig_dest_entrypoint_arg.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/multisig_dest_entrypoint_arg.tz --details +Well typed +Gas remaining: 1039997.740 units remaining +{ parameter (or (int %a) (string %b)) ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-nat_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-nat_id.out new file mode 100644 index 000000000000..630ba098043a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-nat_id.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/nat_id.tz --details +Well typed +Gas remaining: 1039997.907 units remaining +{ parameter nat ; + storage nat ; + code { CAR + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-noop_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-noop_bytes.out new file mode 100644 index 000000000000..e7ff03dcf235 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-noop_bytes.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/noop_bytes.tz --details +Well typed +Gas remaining: 1039997.907 units remaining +{ parameter bytes ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-originate_contract.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-originate_contract.out new file mode 100644 index 000000000000..482ca209745a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-originate_contract.out @@ -0,0 +1,28 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/originate_contract.tz --details +Well typed +Gas remaining: 1039991.040 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [ unit ] */ ; + UNIT + /* [ list operation : unit ] */ ; + AMOUNT + /* [ mutez : unit ] */ ; + NONE key_hash + /* [ pair (list operation) unit ] */ ; + CREATE_CONTRACT + { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } + /* [ operation : address ] */ ; + DIP { DROP + /* [] */ ; + PUSH unit Unit + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ } + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-parameterized_multisig.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-parameterized_multisig.out new file mode 100644 index 000000000000..04c884c38cd9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-parameterized_multisig.out @@ -0,0 +1,166 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/parameterized_multisig.tz --details +Well typed +Gas remaining: 1039940.583 units remaining +{ storage (pair bool (pair (map nat (pair bool bool)) (pair key key))) ; + parameter (or nat (pair signature nat)) ; + code { DUP + /* [ pair (or nat (pair signature nat)) bool (map nat (pair bool bool)) key key + : pair (or nat (pair signature nat)) bool (map nat (pair bool bool)) key key ] */ ; + CAR + /* [ or nat (pair signature nat) + : pair (or nat (pair signature nat)) bool (map nat (pair bool bool)) key key ] */ ; + DIP { CDDR } + /* [ or nat (pair signature nat) : pair (map nat (pair bool bool)) key key ] */ ; + IF_LEFT + { DIP { DUP + /* [ pair (map nat (pair bool bool)) key key + : pair (map nat (pair bool bool)) key key ] */ ; + CAR + /* [ map nat (pair bool bool) : pair (map nat (pair bool bool)) key key ] */ } + /* [ nat : map nat (pair bool bool) : pair (map nat (pair bool bool)) key key ] */ ; + GET + /* [ option (pair bool bool) : pair (map nat (pair bool bool)) key key ] */ ; + IF_NONE + { PUSH bool False /* [ bool : pair (map nat (pair bool bool)) key key ] */ } + { DUP + /* [ pair bool bool : pair bool bool : pair (map nat (pair bool bool)) key key ] */ ; + CAR + /* [ bool : pair bool bool : pair (map nat (pair bool bool)) key key ] */ ; + DIP { CDR /* [ bool : pair (map nat (pair bool bool)) key key ] */ } + /* [ bool : bool : pair (map nat (pair bool bool)) key key ] */ ; + AND + /* [ bool : pair (map nat (pair bool bool)) key key ] */ } ; + PAIR + /* [ pair bool (map nat (pair bool bool)) key key ] */ } + { DUP + /* [ pair signature nat : pair signature nat + : pair (map nat (pair bool bool)) key key ] */ ; + CAR + /* [ signature : pair signature nat : pair (map nat (pair bool bool)) key key ] */ ; + DIP { CDR + /* [ nat : pair (map nat (pair bool bool)) key key ] */ ; + DUP + /* [ nat : nat : pair (map nat (pair bool bool)) key key ] */ ; + PACK + /* [ bytes : nat : pair (map nat (pair bool bool)) key key ] */ ; + BLAKE2B + /* [ bytes : nat : pair (map nat (pair bool bool)) key key ] */ } + /* [ signature : bytes : nat : pair (map nat (pair bool bool)) key key ] */ ; + PAIR + /* [ pair signature bytes : nat : pair (map nat (pair bool bool)) key key ] */ ; + SWAP + /* [ nat : pair signature bytes : pair (map nat (pair bool bool)) key key ] */ ; + DIP { DIP { DUP + /* [ pair (map nat (pair bool bool)) key key + : pair (map nat (pair bool bool)) key key ] */ ; + CDR + /* [ pair key key : pair (map nat (pair bool bool)) key key ] */ ; + DIP { CAR /* [ map nat (pair bool bool) ] */ } + /* [ pair key key : map nat (pair bool bool) ] */ ; + DUP + /* [ pair key key : pair key key : map nat (pair bool bool) ] */ } + /* [ pair signature bytes : pair key key : pair key key + : map nat (pair bool bool) ] */ ; + SWAP + /* [ pair key key : pair signature bytes : pair key key + : map nat (pair bool bool) ] */ ; + CAR + /* [ key : pair signature bytes : pair key key : map nat (pair bool bool) ] */ ; + DIP { DUP + /* [ pair signature bytes : pair signature bytes : pair key key + : map nat (pair bool bool) ] */ ; + UNPAIR + /* [ signature : bytes : pair signature bytes : pair key key + : map nat (pair bool bool) ] */ } + /* [ key : signature : bytes : pair signature bytes : pair key key + : map nat (pair bool bool) ] */ ; + CHECK_SIGNATURE + /* [ bool : pair signature bytes : pair key key : map nat (pair bool bool) ] */ } + /* [ nat : bool : pair signature bytes : pair key key + : map nat (pair bool bool) ] */ ; + SWAP + /* [ bool : nat : pair signature bytes : pair key key + : map nat (pair bool bool) ] */ ; + IF { DIP { DROP + /* [ pair key key : map nat (pair bool bool) ] */ ; + SWAP + /* [ map nat (pair bool bool) : pair key key ] */ ; + DUP + /* [ map nat (pair bool bool) : map nat (pair bool bool) : pair key key ] */ } + /* [ nat : map nat (pair bool bool) : map nat (pair bool bool) : pair key key ] */ ; + DUP + /* [ nat : nat : map nat (pair bool bool) : map nat (pair bool bool) + : pair key key ] */ ; + DIP { GET + /* [ option (pair bool bool) : map nat (pair bool bool) : pair key key ] */ ; + IF_NONE + { PUSH (pair bool bool) + (Pair False False) + /* [ pair bool bool : map nat (pair bool bool) : pair key key ] */ } + { /* [ pair bool bool : map nat (pair bool bool) : pair key key ] */ } ; + CDR + /* [ bool : map nat (pair bool bool) : pair key key ] */ ; + PUSH bool True + /* [ bool : bool : map nat (pair bool bool) : pair key key ] */ ; + PAIR + /* [ pair bool bool : map nat (pair bool bool) : pair key key ] */ ; + SOME + /* [ option (pair bool bool) : map nat (pair bool bool) : pair key key ] */ } + /* [ nat : option (pair bool bool) : map nat (pair bool bool) : pair key key ] */ } + { DIP { DIP { DUP + /* [ pair key key : pair key key : map nat (pair bool bool) ] */ ; + CDR + /* [ key : pair key key : map nat (pair bool bool) ] */ } + /* [ pair signature bytes : key : pair key key : map nat (pair bool bool) ] */ ; + SWAP + /* [ key : pair signature bytes : pair key key : map nat (pair bool bool) ] */ ; + DIP { UNPAIR /* [ signature : bytes : pair key key : map nat (pair bool bool) ] */ } + /* [ key : signature : bytes : pair key key : map nat (pair bool bool) ] */ ; + CHECK_SIGNATURE + /* [ bool : pair key key : map nat (pair bool bool) ] */ } + /* [ nat : bool : pair key key : map nat (pair bool bool) ] */ ; + SWAP + /* [ bool : nat : pair key key : map nat (pair bool bool) ] */ ; + IF { DUP + /* [ nat : nat : pair key key : map nat (pair bool bool) ] */ ; + DIP { DIP { SWAP + /* [ map nat (pair bool bool) : pair key key ] */ ; + DUP + /* [ map nat (pair bool bool) : map nat (pair bool bool) : pair key key ] */ } + /* [ nat : map nat (pair bool bool) : map nat (pair bool bool) : pair key key ] */ ; + GET + /* [ option (pair bool bool) : map nat (pair bool bool) : pair key key ] */ } + /* [ nat : option (pair bool bool) : map nat (pair bool bool) : pair key key ] */ ; + SWAP + /* [ option (pair bool bool) : nat : map nat (pair bool bool) : pair key key ] */ ; + IF_NONE + { PUSH (pair bool bool) + (Pair False False) + /* [ pair bool bool : nat : map nat (pair bool bool) : pair key key ] */ } + { /* [ pair bool bool : nat : map nat (pair bool bool) : pair key key ] */ } ; + CAR + /* [ bool : nat : map nat (pair bool bool) : pair key key ] */ ; + PUSH bool True + /* [ bool : bool : nat : map nat (pair bool bool) : pair key key ] */ ; + SWAP + /* [ bool : bool : nat : map nat (pair bool bool) : pair key key ] */ ; + PAIR + /* [ pair bool bool : nat : map nat (pair bool bool) : pair key key ] */ ; + SOME + /* [ option (pair bool bool) : nat : map nat (pair bool bool) : pair key key ] */ ; + SWAP + /* [ nat : option (pair bool bool) : map nat (pair bool bool) : pair key key ] */ } + { FAIL } } ; + UPDATE + /* [ map nat (pair bool bool) : pair key key ] */ ; + PAIR + /* [ pair (map nat (pair bool bool)) key key ] */ ; + PUSH bool False + /* [ bool : pair (map nat (pair bool bool)) key key ] */ ; + PAIR + /* [ pair bool (map nat (pair bool bool)) key key ] */ } ; + NIL operation + /* [ list operation : pair bool (map nat (pair bool bool)) key key ] */ ; + PAIR + /* [ pair (list operation) bool (map nat (pair bool bool)) key key ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-parsable_contract.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-parsable_contract.out new file mode 100644 index 000000000000..655abedd5b9f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-parsable_contract.out @@ -0,0 +1,63 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/parsable_contract.tz --details +Well typed +Gas remaining: 1039980.441 units remaining +{ parameter int ; + storage (map int address) ; + code { UNPAIR + /* [ int : map int address ] */ ; + PUSH int 0 + /* [ int : int : map int address ] */ ; + SWAP + /* [ int : int : map int address ] */ ; + DUP + /* [ int : int : int : map int address ] */ ; + DUG 2 + /* [ int : int : int : map int address ] */ ; + COMPARE + /* [ int : int : map int address ] */ ; + GT + /* [ bool : int : map int address ] */ ; + IF { SWAP + /* [ map int address : int ] */ ; + SENDER + /* [ address : map int address : int ] */ ; + DIG 2 + /* [ int : address : map int address ] */ ; + SWAP + /* [ address : int : map int address ] */ ; + SOME + /* [ option address : int : map int address ] */ ; + SWAP + /* [ int : option address : map int address ] */ ; + UPDATE + /* [ map int address ] */ } + { SWAP + /* [ map int address : int ] */ ; + DROP + /* [ int ] */ ; + PUSH int 0 + /* [ int : int ] */ ; + SWAP + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + LT + /* [ bool ] */ ; + IF { PUSH string "NEGATIVE_INT" /* [ string ] */ ; FAILWITH /* [] */ } + { PUSH unit Unit + /* [ unit ] */ ; + LEFT (map int address) + /* [ or unit (map int address) ] */ ; + LOOP_LEFT + { DROP + /* [] */ ; + PUSH unit Unit + /* [ unit ] */ ; + LEFT (map int address) + /* [ or unit (map int address) ] */ } + /* [ map int address ] */ } } ; + NIL operation + /* [ list operation : map int address ] */ ; + PAIR + /* [ pair (list operation) (map int address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-receive_tickets_in_big_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-receive_tickets_in_big_map.out new file mode 100644 index 000000000000..19548f2ae375 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-receive_tickets_in_big_map.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/receive_tickets_in_big_map.tz --details +Well typed +Gas remaining: 1039997.029 units remaining +{ parameter (big_map int (ticket string)) ; + storage (big_map int (ticket string)) ; + code { CAR + /* [ big_map int (ticket string) ] */ ; + NIL operation + /* [ list operation : big_map int (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (big_map int (ticket string)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-replay.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-replay.out new file mode 100644 index 000000000000..7494cb0a6a92 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-replay.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/replay.tz --details +Well typed +Gas remaining: 1039990.860 units remaining +{ parameter unit ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + SOURCE + /* [ address : list operation : unit ] */ ; + CONTRACT unit + /* [ option (contract unit) : list operation : unit ] */ ; + ASSERT_SOME ; + PUSH mutez 1 + /* [ mutez : contract unit : list operation : unit ] */ ; + UNIT + /* [ unit : mutez : contract unit : list operation : unit ] */ ; + TRANSFER_TOKENS + /* [ operation : list operation : unit ] */ ; + DUP + /* [ operation : operation : list operation : unit ] */ ; + DIP { CONS /* [ list operation : unit ] */ } + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-reveal_signed_preimage.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-reveal_signed_preimage.out new file mode 100644 index 000000000000..6e816d0f2cda --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-reveal_signed_preimage.out @@ -0,0 +1,63 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/reveal_signed_preimage.tz --details +Well typed +Gas remaining: 1039978.896 units remaining +{ parameter (pair bytes signature) ; + storage (pair bytes key) ; + code { DUP + /* [ pair (pair bytes signature) bytes key + : pair (pair bytes signature) bytes key ] */ ; + UNPAIR + /* [ pair bytes signature : pair bytes key + : pair (pair bytes signature) bytes key ] */ ; + CAR + /* [ bytes : pair bytes key : pair (pair bytes signature) bytes key ] */ ; + SHA256 + /* [ bytes : pair bytes key : pair (pair bytes signature) bytes key ] */ ; + DIP { CAR /* [ bytes : pair (pair bytes signature) bytes key ] */ } + /* [ bytes : bytes : pair (pair bytes signature) bytes key ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair (pair bytes signature) bytes key + : pair (pair bytes signature) bytes key ] */ ; + UNPAIR + /* [ pair bytes signature : pair bytes key + : pair (pair bytes signature) bytes key ] */ ; + SWAP + /* [ pair bytes key : pair bytes signature + : pair (pair bytes signature) bytes key ] */ ; + DIP { UNPAIR + /* [ bytes : signature : pair (pair bytes signature) bytes key ] */ ; + SWAP + /* [ signature : bytes : pair (pair bytes signature) bytes key ] */ } + /* [ pair bytes key : signature : bytes + : pair (pair bytes signature) bytes key ] */ ; + CDR + /* [ key : signature : bytes : pair (pair bytes signature) bytes key ] */ ; + CHECK_SIGNATURE + /* [ bool : pair (pair bytes signature) bytes key ] */ ; + ASSERT ; + CDR + /* [ pair bytes key ] */ ; + DUP + /* [ pair bytes key : pair bytes key ] */ ; + CDR + /* [ key : pair bytes key ] */ ; + HASH_KEY + /* [ key_hash : pair bytes key ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit : pair bytes key ] */ ; + BALANCE + /* [ mutez : contract unit : pair bytes key ] */ ; + UNIT + /* [ unit : mutez : contract unit : pair bytes key ] */ ; + TRANSFER_TOKENS + /* [ operation : pair bytes key ] */ ; + NIL operation + /* [ list operation : operation : pair bytes key ] */ ; + SWAP + /* [ operation : list operation : pair bytes key ] */ ; + CONS + /* [ list operation : pair bytes key ] */ ; + PAIR + /* [ pair (list operation) bytes key ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-sc_rollup_forward.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-sc_rollup_forward.out new file mode 100644 index 000000000000..18d1211ff5ee --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-sc_rollup_forward.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/sc_rollup_forward.tz --details +Well typed +Gas remaining: 1039994.394 units remaining +{ parameter (pair bytes (contract bytes)) ; + storage unit ; + code { UNPAIR + /* [ pair bytes (contract bytes) : unit ] */ ; + DIP { NIL operation /* [ list operation : unit ] */ } + /* [ pair bytes (contract bytes) : list operation : unit ] */ ; + UNPAIR + /* [ bytes : contract bytes : list operation : unit ] */ ; + DIP { PUSH mutez 0 /* [ mutez : contract bytes : list operation : unit ] */ } + /* [ bytes : mutez : contract bytes : list operation : unit ] */ ; + TRANSFER_TOKENS + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-sc_rollup_mint_and_forward.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-sc_rollup_mint_and_forward.out new file mode 100644 index 000000000000..e4ec63d467f7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-sc_rollup_mint_and_forward.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/sc_rollup_mint_and_forward.tz --details +Well typed +Gas remaining: 1039990.860 units remaining +{ parameter (pair (pair bytes nat) (contract (ticket bytes))) ; + storage unit ; + code { UNPAIR + /* [ pair (pair bytes nat) (contract (ticket bytes)) : unit ] */ ; + UNPAIR + /* [ pair bytes nat : contract (ticket bytes) : unit ] */ ; + UNPAIR + /* [ bytes : nat : contract (ticket bytes) : unit ] */ ; + TICKET + /* [ option (ticket bytes) : contract (ticket bytes) : unit ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : ticket bytes : contract (ticket bytes) : unit ] */ ; + SWAP + /* [ ticket bytes : mutez : contract (ticket bytes) : unit ] */ ; + TRANSFER_TOKENS + /* [ operation : unit ] */ ; + NIL operation + /* [ list operation : operation : unit ] */ ; + SWAP + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-self_address_receiver.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-self_address_receiver.out new file mode 100644 index 000000000000..54b70e6cc9f8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-self_address_receiver.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/self_address_receiver.tz --details +Well typed +Gas remaining: 1039992.799 units remaining +{ parameter (lambda unit address) ; + storage unit ; + code { UNPAIR + /* [ lambda unit address : unit ] */ ; + UNIT + /* [ unit : lambda unit address : unit ] */ ; + EXEC + /* [ address : unit ] */ ; + SELF_ADDRESS + /* [ address : address : unit ] */ ; + ASSERT_CMPEQ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-self_address_sender.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-self_address_sender.out new file mode 100644 index 000000000000..344ef390c44d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-self_address_sender.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/self_address_sender.tz --details +Well typed +Gas remaining: 1039993.319 units remaining +{ parameter (contract (lambda unit address)) ; + storage unit ; + code { CAR + /* [ contract (lambda unit address) ] */ ; + BALANCE + /* [ mutez : contract (lambda unit address) ] */ ; + LAMBDA + unit + address + { DROP /* [] */ ; SELF_ADDRESS /* [ address ] */ } + /* [ lambda unit address : mutez : contract (lambda unit address) ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + DIP { UNIT /* [ unit ] */ ; NIL operation /* [ list operation : unit ] */ } + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_ticket_list.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_ticket_list.out new file mode 100644 index 000000000000..f17c3540fdf0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_ticket_list.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/send_ticket_list_016.tz --details +Well typed +Gas remaining: 1039986.152 units remaining +{ parameter address ; + storage unit ; + code { CAR + /* [ address ] */ ; + CONTRACT (list (ticket string)) + /* [ option (contract (list (ticket string))) ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract (list (ticket string)) ] */ ; + NIL (ticket string) + /* [ list (ticket string) : mutez : contract (list (ticket string)) ] */ ; + PUSH nat + 1 + /* [ nat : list (ticket string) : mutez : contract (list (ticket string)) ] */ ; + PUSH string + "Ticket" + /* [ string : nat : list (ticket string) : mutez + : contract (list (ticket string)) ] */ ; + TICKET + /* [ option (ticket string) : list (ticket string) : mutez + : contract (list (ticket string)) ] */ ; + ASSERT_SOME ; + CONS + /* [ list (ticket string) : mutez : contract (list (ticket string)) ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ ; + UNIT + /* [ unit : list operation ] */ ; + SWAP + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_ticket_list_multiple.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_ticket_list_multiple.out new file mode 100644 index 000000000000..ef472a1e98d0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_ticket_list_multiple.out @@ -0,0 +1,55 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/send_ticket_list_multiple_016.tz --details +Well typed +Gas remaining: 1039981.403 units remaining +{ parameter address ; + storage unit ; + code { CAR + /* [ address ] */ ; + CONTRACT (list (ticket string)) + /* [ option (contract (list (ticket string))) ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract (list (ticket string)) ] */ ; + NIL (ticket string) + /* [ list (ticket string) : mutez : contract (list (ticket string)) ] */ ; + PUSH nat + 1 + /* [ nat : list (ticket string) : mutez : contract (list (ticket string)) ] */ ; + PUSH string + "Ticket" + /* [ string : nat : list (ticket string) : mutez + : contract (list (ticket string)) ] */ ; + TICKET + /* [ option (ticket string) : list (ticket string) : mutez + : contract (list (ticket string)) ] */ ; + ASSERT_SOME ; + CONS + /* [ list (ticket string) : mutez : contract (list (ticket string)) ] */ ; + PUSH nat + 1 + /* [ nat : list (ticket string) : mutez : contract (list (ticket string)) ] */ ; + PUSH string + "Ticket2" + /* [ string : nat : list (ticket string) : mutez + : contract (list (ticket string)) ] */ ; + TICKET + /* [ option (ticket string) : list (ticket string) : mutez + : contract (list (ticket string)) ] */ ; + ASSERT_SOME ; + CONS + /* [ list (ticket string) : mutez : contract (list (ticket string)) ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ ; + UNIT + /* [ unit : list operation ] */ ; + SWAP + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_tickets_from_storage.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_tickets_from_storage.out new file mode 100644 index 000000000000..b410f01020b5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_tickets_from_storage.out @@ -0,0 +1,49 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/send_tickets_from_storage_016.tz --details +Well typed +Gas remaining: 1039981.083 units remaining +{ parameter (or (unit %mint) (contract %send (list (ticket string)))) ; + storage (list (ticket string)) ; + code { UNPAIR + /* [ or unit (contract (list (ticket string))) : list (ticket string) ] */ ; + IF_LEFT + { DROP + /* [ list (ticket string) ] */ ; + PUSH nat 1 + /* [ nat : list (ticket string) ] */ ; + PUSH string "Ticket" + /* [ string : nat : list (ticket string) ] */ ; + TICKET + /* [ option (ticket string) : list (ticket string) ] */ ; + ASSERT_SOME ; + CONS + /* [ list (ticket string) ] */ ; + PUSH nat 1 + /* [ nat : list (ticket string) ] */ ; + PUSH string "Ticket2" + /* [ string : nat : list (ticket string) ] */ ; + TICKET + /* [ option (ticket string) : list (ticket string) ] */ ; + ASSERT_SOME ; + CONS + /* [ list (ticket string) ] */ ; + NIL operation + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } + { PUSH mutez 0 + /* [ mutez : contract (list (ticket string)) : list (ticket string) ] */ ; + DIG 2 + /* [ list (ticket string) : mutez : contract (list (ticket string)) ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL (ticket string) + /* [ list (ticket string) : operation ] */ ; + NIL operation + /* [ list operation : list (ticket string) : operation ] */ ; + DIG 2 + /* [ operation : list operation : list (ticket string) ] */ ; + CONS + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_tickets_in_big_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_tickets_in_big_map.out new file mode 100644 index 000000000000..0a7dc87eed26 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-send_tickets_in_big_map.out @@ -0,0 +1,133 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/send_tickets_in_big_map_015.tz --details +Well typed +Gas remaining: 1039967.113 units remaining +{ parameter address ; + storage unit ; + code { CAR + /* [ address ] */ ; + CONTRACT + (big_map int (ticket string)) + /* [ option (contract (big_map int (ticket string))) ] */ ; + IF_NONE + { PUSH string "Contract of type `big_map(ticket(string))` not found" + /* [ string ] */ ; + FAILWITH + /* [] */ } + { EMPTY_BIG_MAP + int + (ticket string) + /* [ big_map int (ticket string) : contract (big_map int (ticket string)) ] */ ; + PUSH int + 100 + /* [ int : big_map int (ticket string) + : contract (big_map int (ticket string)) ] */ ; + SWAP + /* [ big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + PAIR + /* [ pair (big_map int (ticket string)) int + : contract (big_map int (ticket string)) ] */ ; + LEFT (big_map int (ticket string)) + /* [ or (pair (big_map int (ticket string)) int) (big_map int (ticket string)) + : contract (big_map int (ticket string)) ] */ ; + LOOP_LEFT + { UNPAIR + /* [ big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + SWAP + /* [ int : big_map int (ticket string) + : contract (big_map int (ticket string)) ] */ ; + DUP + /* [ int : int : big_map int (ticket string) + : contract (big_map int (ticket string)) ] */ ; + DUG 2 + /* [ int : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + PUSH int + 0 + /* [ int : int : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + COMPARE + /* [ int : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + LT + /* [ bool : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + IF { PUSH int + 1 + /* [ int : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + DUP 3 + /* [ int : int : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + SUB + /* [ int : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + SWAP + /* [ big_map int (ticket string) : int : int + : contract (big_map int (ticket string)) ] */ ; + PUSH nat + 1 + /* [ nat : big_map int (ticket string) : int : int + : contract (big_map int (ticket string)) ] */ ; + PUSH string + "BLUE" + /* [ string : nat : big_map int (ticket string) : int : int + : contract (big_map int (ticket string)) ] */ ; + TICKET + /* [ option (ticket string) : big_map int (ticket string) : int : int + : contract (big_map int (ticket string)) ] */ ; + ASSERT_SOME ; + DIG 3 + /* [ int : ticket string : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + SWAP + /* [ ticket string : int : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + SOME + /* [ option (ticket string) : int : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + SWAP + /* [ int : option (ticket string) : big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + UPDATE + /* [ big_map int (ticket string) : int + : contract (big_map int (ticket string)) ] */ ; + PAIR + /* [ pair (big_map int (ticket string)) int + : contract (big_map int (ticket string)) ] */ ; + LEFT (big_map int (ticket string)) + /* [ or (pair (big_map int (ticket string)) int) (big_map int (ticket string)) + : contract (big_map int (ticket string)) ] */ } + { SWAP + /* [ int : big_map int (ticket string) + : contract (big_map int (ticket string)) ] */ ; + DROP + /* [ big_map int (ticket string) : contract (big_map int (ticket string)) ] */ ; + RIGHT + (pair (big_map int (ticket string)) int) + /* [ or (pair (big_map int (ticket string)) int) (big_map int (ticket string)) + : contract (big_map int (ticket string)) ] */ } } + /* [ big_map int (ticket string) : contract (big_map int (ticket string)) ] */ ; + SWAP + /* [ contract (big_map int (ticket string)) : big_map int (ticket string) ] */ ; + PUSH mutez + 0 + /* [ mutez : contract (big_map int (ticket string)) + : big_map int (ticket string) ] */ ; + DIG 2 + /* [ big_map int (ticket string) : mutez + : contract (big_map int (ticket string)) ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + PUSH unit Unit + /* [ unit : operation ] */ ; + NIL operation + /* [ list operation : unit : operation ] */ ; + DIG 2 + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-smart_rollup_mint_and_deposit_ticket.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-smart_rollup_mint_and_deposit_ticket.out new file mode 100644 index 000000000000..67b1c34c8df7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-smart_rollup_mint_and_deposit_ticket.out @@ -0,0 +1,70 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/smart_rollup_mint_and_deposit_ticket_016.tz --details +Well typed +Gas remaining: 1039982.120 units remaining +{ parameter + (pair (pair (contract %rollup (pair string (ticket string))) (string %rollup_account)) + (pair (nat %ticket_amount) (string %ticket_content))) ; + storage unit ; + code { CAR + /* [ pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + DUP + /* [ pair (pair (contract (pair string (ticket string))) string) nat string + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + CAR + /* [ pair (contract (pair string (ticket string))) string + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + CAR + /* [ contract (pair string (ticket string)) + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + PUSH mutez + 0 + /* [ mutez : contract (pair string (ticket string)) + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + DUP 3 + /* [ pair (pair (contract (pair string (ticket string))) string) nat string + : mutez : contract (pair string (ticket string)) + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + CDR + /* [ pair nat string : mutez : contract (pair string (ticket string)) + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + CAR + /* [ nat : mutez : contract (pair string (ticket string)) + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + DUP 4 + /* [ pair (pair (contract (pair string (ticket string))) string) nat string + : nat : mutez : contract (pair string (ticket string)) + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + CDR + /* [ pair nat string : nat : mutez : contract (pair string (ticket string)) + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + CDR + /* [ string : nat : mutez : contract (pair string (ticket string)) + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + TICKET + /* [ option (ticket string) : mutez : contract (pair string (ticket string)) + : pair (pair (contract (pair string (ticket string))) string) nat string ] */ ; + ASSERT_SOME ; + DIG 3 + /* [ pair (pair (contract (pair string (ticket string))) string) nat string + : ticket string : mutez : contract (pair string (ticket string)) ] */ ; + CAR + /* [ pair (contract (pair string (ticket string))) string : ticket string + : mutez : contract (pair string (ticket string)) ] */ ; + CDR + /* [ string : ticket string : mutez : contract (pair string (ticket string)) ] */ ; + PAIR + /* [ pair string (ticket string) : mutez + : contract (pair string (ticket string)) ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + PUSH unit Unit + /* [ unit : operation ] */ ; + NIL operation + /* [ list operation : unit : operation ] */ ; + DIG 2 + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-smart_rollup_receive_tickets.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-smart_rollup_receive_tickets.out new file mode 100644 index 000000000000..76aafea699a5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-smart_rollup_receive_tickets.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/smart_rollup_receive_tickets_016.tz --details +Well typed +Gas remaining: 1039993.563 units remaining +{ parameter (or (unit %burn_all_tickets) (ticket %receive_tickets string)) ; + storage (list (ticket string)) ; + code { UNPAIR + /* [ or unit (ticket string) : list (ticket string) ] */ ; + IF_LEFT + { DROP 2 + /* [] */ ; + NIL (ticket string) + /* [ list (ticket string) ] */ ; + NIL operation + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } + { CONS + /* [ list (ticket string) ] */ ; + NIL operation + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-str_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-str_id.out new file mode 100644 index 000000000000..e0fc21be8c2e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-str_id.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/str_id.tz --details +Well typed +Gas remaining: 1039997.300 units remaining +{ parameter string ; + storage (option string) ; + code { CAR + /* [ string ] */ ; + SOME + /* [ option string ] */ ; + NIL operation + /* [ list operation : option string ] */ ; + PAIR + /* [ pair (list operation) (option string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_builder_fungible.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_builder_fungible.out new file mode 100644 index 000000000000..6a6d50e2df1c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_builder_fungible.out @@ -0,0 +1,58 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/ticket_builder_fungible.tz --details +Well typed +Gas remaining: 1039974.006 units remaining +{ parameter + (or (ticket %burn unit) + (pair %mint (contract %destination (ticket unit)) (nat %amount))) ; + storage address ; + code { AMOUNT + /* [ mutez + : pair (or (ticket unit) (pair (contract (ticket unit)) nat)) address ] */ ; + PUSH mutez + 0 + /* [ mutez : mutez + : pair (or (ticket unit) (pair (contract (ticket unit)) nat)) address ] */ ; + ASSERT_CMPEQ ; + UNPAIR + /* [ or (ticket unit) (pair (contract (ticket unit)) nat) : address ] */ ; + IF_LEFT + { READ_TICKET + /* [ pair address unit nat : ticket unit : address ] */ ; + CAR + /* [ address : ticket unit : address ] */ ; + SELF_ADDRESS + /* [ address : address : ticket unit : address ] */ ; + ASSERT_CMPEQ ; + DROP + /* [ address ] */ ; + NIL operation + /* [ list operation : address ] */ } + { DUP @manager 2 + /* [ address : pair (contract (ticket unit)) nat : address ] */ ; + SENDER + /* [ address : address : pair (contract (ticket unit)) nat : address ] */ ; + ASSERT_CMPEQ ; + UNPAIR + /* [ contract (ticket unit) : nat : address ] */ ; + SWAP + /* [ nat : contract (ticket unit) : address ] */ ; + UNIT + /* [ unit : nat : contract (ticket unit) : address ] */ ; + TICKET + /* [ option (ticket unit) : contract (ticket unit) : address ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : ticket unit : contract (ticket unit) : address ] */ ; + SWAP + /* [ ticket unit : mutez : contract (ticket unit) : address ] */ ; + TRANSFER_TOKENS + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ } ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_builder_non_fungible.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_builder_non_fungible.out new file mode 100644 index 000000000000..4512e4c639c7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_builder_non_fungible.out @@ -0,0 +1,56 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/ticket_builder_non_fungible.tz --details +Well typed +Gas remaining: 1039971.519 units remaining +{ parameter (or (ticket %burn nat) (contract %mint_destination (ticket nat))) ; + storage (pair (address %manager) (nat %counter)) ; + code { AMOUNT + /* [ mutez : pair (or (ticket nat) (contract (ticket nat))) address nat ] */ ; + PUSH mutez + 0 + /* [ mutez : mutez + : pair (or (ticket nat) (contract (ticket nat))) address nat ] */ ; + ASSERT_CMPEQ ; + UNPAIR 3 + /* [ or (ticket nat) (contract (ticket nat)) : address : nat ] */ ; + IF_LEFT + { READ_TICKET + /* [ pair address nat nat : ticket nat : address : nat ] */ ; + CAR + /* [ address : ticket nat : address : nat ] */ ; + SELF_ADDRESS + /* [ address : address : ticket nat : address : nat ] */ ; + ASSERT_CMPEQ ; + DROP + /* [ address : nat ] */ ; + NIL operation + /* [ list operation : address : nat ] */ } + { DUP @manager 2 + /* [ address : contract (ticket nat) : address : nat ] */ ; + SENDER + /* [ address : address : contract (ticket nat) : address : nat ] */ ; + ASSERT_CMPEQ ; + PUSH @amount nat 1 + /* [ nat : contract (ticket nat) : address : nat ] */ ; + DUP @counter 4 + /* [ nat : nat : contract (ticket nat) : address : nat ] */ ; + TICKET + /* [ option (ticket nat) : contract (ticket nat) : address : nat ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : ticket nat : contract (ticket nat) : address : nat ] */ ; + SWAP + /* [ ticket nat : mutez : contract (ticket nat) : address : nat ] */ ; + TRANSFER_TOKENS + /* [ operation : address : nat ] */ ; + NIL operation + /* [ list operation : operation : address : nat ] */ ; + SWAP + /* [ operation : list operation : address : nat ] */ ; + CONS + /* [ list operation : address : nat ] */ ; + DIP 2 + { PUSH nat 1 /* [ nat : nat ] */ ; ADD /* [ nat ] */ } + /* [ list operation : address : nat ] */ } ; + PAIR 3 + /* [ pair (list operation) address nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_wallet_fungible.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_wallet_fungible.out new file mode 100644 index 000000000000..574a31169674 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_wallet_fungible.out @@ -0,0 +1,194 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/ticket_wallet_fungible.tz --details +Well typed +Gas remaining: 1039937.454 units remaining +{ parameter + (or (ticket %receive unit) + (pair %send (contract %destination (ticket unit)) (nat %amount) (address %ticketer))) ; + storage (pair (address %manager) (big_map %tickets address (ticket unit))) ; + code { AMOUNT + /* [ mutez + : pair (or (ticket unit) (pair (contract (ticket unit)) nat address)) + address + (big_map address (ticket unit)) ] */ ; + PUSH mutez + 0 + /* [ mutez : mutez + : pair (or (ticket unit) (pair (contract (ticket unit)) nat address)) + address + (big_map address (ticket unit)) ] */ ; + ASSERT_CMPEQ ; + UNPAIR + 3 + /* [ or (ticket unit) (pair (contract (ticket unit)) nat address) : address + : big_map address (ticket unit) ] */ ; + IF_LEFT + { READ_TICKET + /* [ pair address unit nat : ticket unit : address + : big_map address (ticket unit) ] */ ; + CAR @ticketer + /* [ address : ticket unit : address : big_map address (ticket unit) ] */ ; + DUP + /* [ address : address : ticket unit : address : big_map address (ticket unit) ] */ ; + DIG 4 + /* [ big_map address (ticket unit) : address : address : ticket unit : address ] */ ; + NONE (ticket unit) + /* [ option (ticket unit) : big_map address (ticket unit) : address : address + : ticket unit : address ] */ ; + DIG 2 + /* [ address : option (ticket unit) : big_map address (ticket unit) : address + : ticket unit : address ] */ ; + GET_AND_UPDATE + /* [ option (ticket unit) : big_map address (ticket unit) : address + : ticket unit : address ] */ ; + IF_SOME + { DIG 3 + /* [ ticket unit : ticket unit : big_map address (ticket unit) : address + : address ] */ ; + PAIR + /* [ pair (ticket unit) (ticket unit) : big_map address (ticket unit) : address + : address ] */ ; + JOIN_TICKETS + /* [ option (ticket unit) : big_map address (ticket unit) : address : address ] */ ; + ASSERT_SOME } + { DIG 2 + /* [ ticket unit : big_map address (ticket unit) : address : address ] */ } ; + SOME + /* [ option (ticket unit) : big_map address (ticket unit) : address : address ] */ ; + DIG 2 + /* [ address : option (ticket unit) : big_map address (ticket unit) : address ] */ ; + GET_AND_UPDATE + /* [ option (ticket unit) : big_map address (ticket unit) : address ] */ ; + ASSERT_NONE ; + SWAP + /* [ address : big_map address (ticket unit) ] */ ; + PAIR + /* [ pair address (big_map address (ticket unit)) ] */ ; + NIL operation + /* [ list operation : pair address (big_map address (ticket unit)) ] */ } + { DUP @manager + 2 + /* [ address : pair (contract (ticket unit)) nat address : address + : big_map address (ticket unit) ] */ ; + SENDER + /* [ address : address : pair (contract (ticket unit)) nat address : address + : big_map address (ticket unit) ] */ ; + ASSERT_CMPEQ ; + UNPAIR + 3 + /* [ contract (ticket unit) : nat : address : address + : big_map address (ticket unit) ] */ ; + DIG 4 + /* [ big_map address (ticket unit) : contract (ticket unit) : nat : address + : address ] */ ; + NONE (ticket unit) + /* [ option (ticket unit) : big_map address (ticket unit) + : contract (ticket unit) : nat : address : address ] */ ; + DUP @ticketer + 5 + /* [ address : option (ticket unit) : big_map address (ticket unit) + : contract (ticket unit) : nat : address : address ] */ ; + GET_AND_UPDATE + /* [ option (ticket unit) : big_map address (ticket unit) + : contract (ticket unit) : nat : address : address ] */ ; + ASSERT_SOME ; + READ_TICKET + /* [ pair address unit nat : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : nat : address : address ] */ ; + GET @total_amount + 4 + /* [ nat : ticket unit : big_map address (ticket unit) : contract (ticket unit) + : nat : address : address ] */ ; + DUP @amount + 5 + /* [ nat : nat : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : nat : address : address ] */ ; + SWAP + /* [ nat : nat : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : nat : address : address ] */ ; + SUB + /* [ int : ticket unit : big_map address (ticket unit) : contract (ticket unit) + : nat : address : address ] */ ; + DUP + /* [ int : int : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : nat : address : address ] */ ; + EQ + /* [ bool : int : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : nat : address : address ] */ ; + IF { DROP + /* [ ticket unit : big_map address (ticket unit) : contract (ticket unit) : nat + : address : address ] */ ; + DIG 3 + /* [ nat : ticket unit : big_map address (ticket unit) : contract (ticket unit) + : address : address ] */ ; + DROP + /* [ ticket unit : big_map address (ticket unit) : contract (ticket unit) + : address : address ] */ ; + DIG 3 + /* [ address : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : address ] */ ; + DROP + /* [ ticket unit : big_map address (ticket unit) : contract (ticket unit) + : address ] */ ; + DUG 3 + /* [ big_map address (ticket unit) : contract (ticket unit) : address + : ticket unit ] */ } + { ISNAT + /* [ option nat : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : nat : address : address ] */ ; + ASSERT_SOME @remaining_amount ; + DIG 4 + /* [ nat : nat : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : address : address ] */ ; + PAIR + /* [ pair nat nat : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : address : address ] */ ; + SWAP + /* [ ticket unit : pair nat nat : big_map address (ticket unit) + : contract (ticket unit) : address : address ] */ ; + SPLIT_TICKET + /* [ option (pair (ticket unit) (ticket unit)) : big_map address (ticket unit) + : contract (ticket unit) : address : address ] */ ; + ASSERT_SOME ; + UNPAIR @to_send @to_keep + /* [ ticket unit : ticket unit : big_map address (ticket unit) + : contract (ticket unit) : address : address ] */ ; + DUG 5 + /* [ ticket unit : big_map address (ticket unit) : contract (ticket unit) + : address : address : ticket unit ] */ ; + SOME + /* [ option (ticket unit) : big_map address (ticket unit) + : contract (ticket unit) : address : address : ticket unit ] */ ; + DIG 3 + /* [ address : option (ticket unit) : big_map address (ticket unit) + : contract (ticket unit) : address : ticket unit ] */ ; + GET_AND_UPDATE + /* [ option (ticket unit) : big_map address (ticket unit) + : contract (ticket unit) : address : ticket unit ] */ ; + ASSERT_NONE } ; + DIG 2 + /* [ address : big_map address (ticket unit) : contract (ticket unit) + : ticket unit ] */ ; + PAIR + /* [ pair address (big_map address (ticket unit)) : contract (ticket unit) + : ticket unit ] */ ; + SWAP + /* [ contract (ticket unit) : pair address (big_map address (ticket unit)) + : ticket unit ] */ ; + PUSH mutez + 0 + /* [ mutez : contract (ticket unit) + : pair address (big_map address (ticket unit)) : ticket unit ] */ ; + DIG 3 + /* [ ticket unit : mutez : contract (ticket unit) + : pair address (big_map address (ticket unit)) ] */ ; + TRANSFER_TOKENS + /* [ operation : pair address (big_map address (ticket unit)) ] */ ; + NIL operation + /* [ list operation : operation : pair address (big_map address (ticket unit)) ] */ ; + SWAP + /* [ operation : list operation : pair address (big_map address (ticket unit)) ] */ ; + CONS + /* [ list operation : pair address (big_map address (ticket unit)) ] */ } ; + PAIR + /* [ pair (list operation) address (big_map address (ticket unit)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_wallet_non_fungible.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_wallet_non_fungible.out new file mode 100644 index 000000000000..1208ef88789b --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-ticket_wallet_non_fungible.out @@ -0,0 +1,116 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/ticket_wallet_non_fungible.tz --details +Well typed +Gas remaining: 1039959.702 units remaining +{ parameter + (or (ticket %receive nat) + (pair %send (contract %destination (ticket nat)) (address %ticketer) (nat %id))) ; + storage (pair (address %manager) (big_map %tickets (pair address nat) (ticket nat))) ; + code { AMOUNT + /* [ mutez + : pair (or (ticket nat) (pair (contract (ticket nat)) address nat)) + address + (big_map (pair address nat) (ticket nat)) ] */ ; + PUSH mutez + 0 + /* [ mutez : mutez + : pair (or (ticket nat) (pair (contract (ticket nat)) address nat)) + address + (big_map (pair address nat) (ticket nat)) ] */ ; + ASSERT_CMPEQ ; + UNPAIR + 3 + /* [ or (ticket nat) (pair (contract (ticket nat)) address nat) : address + : big_map (pair address nat) (ticket nat) ] */ ; + IF_LEFT + { READ_TICKET + /* [ pair address nat nat : ticket nat : address + : big_map (pair address nat) (ticket nat) ] */ ; + CAST (pair (address %ticketer) (nat %id) (nat %amount)) + /* [ pair address nat nat : ticket nat : address + : big_map (pair address nat) (ticket nat) ] */ ; + UNPAIR + 3 + /* [ address : nat : nat : ticket nat : address + : big_map (pair address nat) (ticket nat) ] */ ; + DIG 2 + /* [ nat : address : nat : ticket nat : address + : big_map (pair address nat) (ticket nat) ] */ ; + PUSH nat + 1 + /* [ nat : nat : address : nat : ticket nat : address + : big_map (pair address nat) (ticket nat) ] */ ; + ASSERT_CMPEQ ; + PAIR + /* [ pair address nat : ticket nat : address + : big_map (pair address nat) (ticket nat) ] */ ; + DIP { SOME + /* [ option (ticket nat) : address : big_map (pair address nat) (ticket nat) ] */ ; + DIP { SWAP /* [ big_map (pair address nat) (ticket nat) : address ] */ } + /* [ option (ticket nat) : big_map (pair address nat) (ticket nat) : address ] */ } + /* [ pair address nat : option (ticket nat) + : big_map (pair address nat) (ticket nat) : address ] */ ; + GET_AND_UPDATE + /* [ option (ticket nat) : big_map (pair address nat) (ticket nat) : address ] */ ; + ASSERT_NONE ; + SWAP + /* [ address : big_map (pair address nat) (ticket nat) ] */ ; + PAIR + /* [ pair address (big_map (pair address nat) (ticket nat)) ] */ ; + NIL operation + /* [ list operation : pair address (big_map (pair address nat) (ticket nat)) ] */ } + { DUP @manager + 2 + /* [ address : pair (contract (ticket nat)) address nat : address + : big_map (pair address nat) (ticket nat) ] */ ; + SENDER + /* [ address : address : pair (contract (ticket nat)) address nat : address + : big_map (pair address nat) (ticket nat) ] */ ; + ASSERT_CMPEQ ; + UNPAIR + /* [ contract (ticket nat) : pair address nat : address + : big_map (pair address nat) (ticket nat) ] */ ; + DIG 3 + /* [ big_map (pair address nat) (ticket nat) : contract (ticket nat) + : pair address nat : address ] */ ; + NONE (ticket nat) + /* [ option (ticket nat) : big_map (pair address nat) (ticket nat) + : contract (ticket nat) : pair address nat : address ] */ ; + DIG 3 + /* [ pair address nat : option (ticket nat) + : big_map (pair address nat) (ticket nat) : contract (ticket nat) : address ] */ ; + GET_AND_UPDATE + /* [ option (ticket nat) : big_map (pair address nat) (ticket nat) + : contract (ticket nat) : address ] */ ; + ASSERT_SOME ; + SWAP + /* [ big_map (pair address nat) (ticket nat) : ticket nat + : contract (ticket nat) : address ] */ ; + DIG 3 + /* [ address : big_map (pair address nat) (ticket nat) : ticket nat + : contract (ticket nat) ] */ ; + PAIR + /* [ pair address (big_map (pair address nat) (ticket nat)) : ticket nat + : contract (ticket nat) ] */ ; + DUG 2 + /* [ ticket nat : contract (ticket nat) + : pair address (big_map (pair address nat) (ticket nat)) ] */ ; + PUSH mutez + 0 + /* [ mutez : ticket nat : contract (ticket nat) + : pair address (big_map (pair address nat) (ticket nat)) ] */ ; + SWAP + /* [ ticket nat : mutez : contract (ticket nat) + : pair address (big_map (pair address nat) (ticket nat)) ] */ ; + TRANSFER_TOKENS + /* [ operation : pair address (big_map (pair address nat) (ticket nat)) ] */ ; + NIL operation + /* [ list operation : operation + : pair address (big_map (pair address nat) (ticket nat)) ] */ ; + SWAP + /* [ operation : list operation + : pair address (big_map (pair address nat) (ticket nat)) ] */ ; + CONS + /* [ list operation : pair address (big_map (pair address nat) (ticket nat)) ] */ } ; + PAIR + /* [ pair (list operation) address (big_map (pair address nat) (ticket nat)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets.out new file mode 100644 index 000000000000..342e51552e1f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_015.tz --details +Well typed +Gas remaining: 1039992.919 units remaining +{ parameter unit ; + storage (list (ticket string)) ; + code { CDR + /* [ list (ticket string) ] */ ; + PUSH nat 1 + /* [ nat : list (ticket string) ] */ ; + PUSH string "Red" + /* [ string : nat : list (ticket string) ] */ ; + TICKET + /* [ option (ticket string) : list (ticket string) ] */ ; + ASSERT_SOME ; + CONS + /* [ list (ticket string) ] */ ; + NIL operation + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_bag.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_bag.out new file mode 100644 index 000000000000..7a39da9f6b2c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_bag.out @@ -0,0 +1,40 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_bag_016.tz --details +Well typed +Gas remaining: 1039985.966 units remaining +{ parameter (or (ticket %save string) (address %send)) ; + storage (list (ticket string)) ; + code { UNPAIR + /* [ or (ticket string) address : list (ticket string) ] */ ; + IF_LEFT + { CONS + /* [ list (ticket string) ] */ ; + NIL operation + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } + { SWAP + /* [ list (ticket string) : address ] */ ; + IF_CONS + { DIG 2 + /* [ address : ticket string : list (ticket string) ] */ ; + CONTRACT %ticket + (ticket string) + /* [ option (contract (ticket string)) : ticket string : list (ticket string) ] */ ; + ASSERT_SOME ; + PUSH mutez + 0 + /* [ mutez : contract (ticket string) : ticket string : list (ticket string) ] */ ; + DIG 2 + /* [ ticket string : mutez : contract (ticket string) : list (ticket string) ] */ ; + TRANSFER_TOKENS + /* [ operation : list (ticket string) ] */ ; + NIL operation + /* [ list operation : operation : list (ticket string) ] */ ; + SWAP + /* [ operation : list operation : list (ticket string) ] */ ; + CONS + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } + { PUSH string "no ticket to send" /* [ string : address ] */ ; FAILWITH /* [] */ } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_bag_implicit.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_bag_implicit.out new file mode 100644 index 000000000000..761d8c3ba8a2 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_bag_implicit.out @@ -0,0 +1,40 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_bag_implicit_016.tz --details +Well typed +Gas remaining: 1039985.966 units remaining +{ parameter (or (ticket %save string) (address %send)) ; + storage (list (ticket string)) ; + code { UNPAIR + /* [ or (ticket string) address : list (ticket string) ] */ ; + IF_LEFT + { CONS + /* [ list (ticket string) ] */ ; + NIL operation + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } + { SWAP + /* [ list (ticket string) : address ] */ ; + IF_CONS + { DIG 2 + /* [ address : ticket string : list (ticket string) ] */ ; + CONTRACT + (ticket string) + /* [ option (contract (ticket string)) : ticket string : list (ticket string) ] */ ; + ASSERT_SOME ; + PUSH mutez + 0 + /* [ mutez : contract (ticket string) : ticket string : list (ticket string) ] */ ; + DIG 2 + /* [ ticket string : mutez : contract (ticket string) : list (ticket string) ] */ ; + TRANSFER_TOKENS + /* [ operation : list (ticket string) ] */ ; + NIL operation + /* [ list operation : operation : list (ticket string) ] */ ; + SWAP + /* [ operation : list operation : list (ticket string) ] */ ; + CONS + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } + { PUSH string "no ticket to send" /* [ string : address ] */ ; FAILWITH /* [] */ } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_blackhole.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_blackhole.out new file mode 100644 index 000000000000..829ec8d6b80c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_blackhole.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_blackhole_016.tz --details +Well typed +Gas remaining: 1039997.823 units remaining +{ parameter (ticket %ticket string) ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_create_and_send.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_create_and_send.out new file mode 100644 index 000000000000..62ff9a13b915 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_create_and_send.out @@ -0,0 +1,126 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_create_and_send_015.tz --details +Well typed +Gas remaining: 1039960.905 units remaining +{ parameter (pair address address) ; + storage (list (ticket string)) ; + code { CAR + /* [ pair address address ] */ ; + UNPAIR + /* [ address : address ] */ ; + PUSH nat 1 + /* [ nat : address : address ] */ ; + PUSH string "red" + /* [ string : nat : address : address ] */ ; + TICKET + /* [ option (ticket string) : address : address ] */ ; + ASSERT_SOME ; + PUSH nat 1 + /* [ nat : ticket string : address : address ] */ ; + PUSH string "green" + /* [ string : nat : ticket string : address : address ] */ ; + TICKET + /* [ option (ticket string) : ticket string : address : address ] */ ; + ASSERT_SOME ; + PUSH nat 1 + /* [ nat : ticket string : ticket string : address : address ] */ ; + PUSH string + "green" + /* [ string : nat : ticket string : ticket string : address : address ] */ ; + TICKET + /* [ option (ticket string) : ticket string : ticket string : address + : address ] */ ; + ASSERT_SOME ; + PUSH nat + 1 + /* [ nat : ticket string : ticket string : ticket string : address : address ] */ ; + PUSH string + "blue" + /* [ string : nat : ticket string : ticket string : ticket string : address + : address ] */ ; + TICKET + /* [ option (ticket string) : ticket string : ticket string : ticket string + : address : address ] */ ; + ASSERT_SOME ; + PUSH nat + 1 + /* [ nat : ticket string : ticket string : ticket string : ticket string + : address : address ] */ ; + PUSH string + "blue" + /* [ string : nat : ticket string : ticket string : ticket string + : ticket string : address : address ] */ ; + TICKET + /* [ option (ticket string) : ticket string : ticket string : ticket string + : ticket string : address : address ] */ ; + ASSERT_SOME ; + DIG 5 + /* [ address : ticket string : ticket string : ticket string : ticket string + : ticket string : address ] */ ; + CONTRACT + (pair (pair (ticket string) (ticket string)) address) + /* [ option (contract (pair (pair (ticket string) (ticket string)) address)) + : ticket string : ticket string : ticket string : ticket string + : ticket string : address ] */ ; + IF_NONE + { PUSH string + "option is None" + /* [ string : ticket string : ticket string : ticket string : ticket string + : ticket string : address ] */ ; + FAILWITH + /* [] */ } + { /* [ contract (pair (pair (ticket string) (ticket string)) address) + : ticket string : ticket string : ticket string : ticket string + : ticket string : address ] */ } ; + PUSH mutez + 0 + /* [ mutez : contract (pair (pair (ticket string) (ticket string)) address) + : ticket string : ticket string : ticket string : ticket string + : ticket string : address ] */ ; + DIG 7 + /* [ address : mutez + : contract (pair (pair (ticket string) (ticket string)) address) + : ticket string : ticket string : ticket string : ticket string + : ticket string ] */ ; + DIG 3 + /* [ ticket string : address : mutez + : contract (pair (pair (ticket string) (ticket string)) address) + : ticket string : ticket string : ticket string : ticket string ] */ ; + DIG 4 + /* [ ticket string : ticket string : address : mutez + : contract (pair (pair (ticket string) (ticket string)) address) + : ticket string : ticket string : ticket string ] */ ; + PAIR + /* [ pair (ticket string) (ticket string) : address : mutez + : contract (pair (pair (ticket string) (ticket string)) address) + : ticket string : ticket string : ticket string ] */ ; + PAIR + /* [ pair (pair (ticket string) (ticket string)) address : mutez + : contract (pair (pair (ticket string) (ticket string)) address) + : ticket string : ticket string : ticket string ] */ ; + TRANSFER_TOKENS + /* [ operation : ticket string : ticket string : ticket string ] */ ; + NIL (ticket string) + /* [ list (ticket string) : operation : ticket string : ticket string + : ticket string ] */ ; + DIG 2 + /* [ ticket string : list (ticket string) : operation : ticket string + : ticket string ] */ ; + CONS + /* [ list (ticket string) : operation : ticket string : ticket string ] */ ; + DIG 2 + /* [ ticket string : list (ticket string) : operation : ticket string ] */ ; + CONS + /* [ list (ticket string) : operation : ticket string ] */ ; + DIG 2 + /* [ ticket string : list (ticket string) : operation ] */ ; + CONS + /* [ list (ticket string) : operation ] */ ; + NIL operation + /* [ list operation : list (ticket string) : operation ] */ ; + DIG 2 + /* [ operation : list operation : list (ticket string) ] */ ; + CONS + /* [ list operation : list (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (list (ticket string)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_list_blackhole.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_list_blackhole.out new file mode 100644 index 000000000000..273f79fea9e6 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_list_blackhole.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_list_blackhole_016.tz --details +Well typed +Gas remaining: 1039997.740 units remaining +{ parameter (list (ticket string)) ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_receive_and_store.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_receive_and_store.out new file mode 100644 index 000000000000..ba34091d933a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_receive_and_store.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_receive_and_store.tz --details +Well typed +Gas remaining: 1039997.074 units remaining +{ parameter (ticket string) ; + storage (option (ticket string)) ; + code { CAR + /* [ ticket string ] */ ; + SOME + /* [ option (ticket string) ] */ ; + NIL operation + /* [ list operation : option (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (option (ticket string)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_send.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_send.out new file mode 100644 index 000000000000..adc3e2e49245 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_send.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_send_016.tz --details +Well typed +Gas remaining: 1039987.411 units remaining +{ parameter (pair address nat) ; + storage unit ; + code { CAR + /* [ pair address nat ] */ ; + UNPAIR + /* [ address : nat ] */ ; + CONTRACT (ticket string) + /* [ option (contract (ticket string)) : nat ] */ ; + IF_NONE + { PUSH string "Contract not found" /* [ string : nat ] */ ; FAILWITH /* [] */ } + { PUSH mutez 0 + /* [ mutez : contract (ticket string) : nat ] */ ; + DIG 2 + /* [ nat : mutez : contract (ticket string) ] */ ; + PUSH string "Ticket" + /* [ string : nat : mutez : contract (ticket string) ] */ ; + TICKET + /* [ option (ticket string) : mutez : contract (ticket string) ] */ ; + ASSERT_SOME ; + TRANSFER_TOKENS + /* [ operation ] */ ; + PUSH unit Unit + /* [ unit : operation ] */ ; + NIL operation + /* [ list operation : unit : operation ] */ ; + DIG 2 + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_send_with_tez.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_send_with_tez.out new file mode 100644 index 000000000000..e326a72aaeaa --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_send_with_tez.out @@ -0,0 +1,33 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_send_with_tez_016.tz --details +Well typed +Gas remaining: 1039987.976 units remaining +{ parameter address ; + storage unit ; + code { CAR + /* [ address ] */ ; + CONTRACT (ticket string) + /* [ option (contract (ticket string)) ] */ ; + IF_NONE + { PUSH string "Contract not found" /* [ string ] */ ; FAILWITH /* [] */ } + { PUSH mutez 1 + /* [ mutez : contract (ticket string) ] */ ; + PUSH nat 1 + /* [ nat : mutez : contract (ticket string) ] */ ; + PUSH string "Ticket" + /* [ string : nat : mutez : contract (ticket string) ] */ ; + TICKET + /* [ option (ticket string) : mutez : contract (ticket string) ] */ ; + ASSERT_SOME ; + TRANSFER_TOKENS + /* [ operation ] */ ; + PUSH unit Unit + /* [ unit : operation ] */ ; + NIL operation + /* [ list operation : unit : operation ] */ ; + DIG 2 + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_store_fst_and_rely_snd.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_store_fst_and_rely_snd.out new file mode 100644 index 000000000000..51c7ecdac175 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tickets_store_fst_and_rely_snd.out @@ -0,0 +1,42 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tickets_store_fst_and_rely_snd.tz --details +Well typed +Gas remaining: 1039988.632 units remaining +{ parameter (pair (pair (ticket string) (ticket string)) address) ; + storage (option (ticket string)) ; + code { CAR + /* [ pair (pair (ticket string) (ticket string)) address ] */ ; + UNPAIR + /* [ pair (ticket string) (ticket string) : address ] */ ; + UNPAIR + /* [ ticket string : ticket string : address ] */ ; + DIG 2 + /* [ address : ticket string : ticket string ] */ ; + CONTRACT + (ticket string) + /* [ option (contract (ticket string)) : ticket string : ticket string ] */ ; + IF_NONE + { PUSH string "option is None" + /* [ string : ticket string : ticket string ] */ ; + FAILWITH + /* [] */ } + { /* [ contract (ticket string) : ticket string : ticket string ] */ } ; + PUSH mutez + 0 + /* [ mutez : contract (ticket string) : ticket string : ticket string ] */ ; + DIG 3 + /* [ ticket string : mutez : contract (ticket string) : ticket string ] */ ; + TRANSFER_TOKENS + /* [ operation : ticket string ] */ ; + SWAP + /* [ ticket string : operation ] */ ; + SOME + /* [ option (ticket string) : operation ] */ ; + NIL operation + /* [ list operation : option (ticket string) : operation ] */ ; + DIG 2 + /* [ operation : list operation : option (ticket string) ] */ ; + CONS + /* [ list operation : option (ticket string) ] */ ; + PAIR + /* [ pair (list operation) (option (ticket string)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tzip4_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tzip4_view.out new file mode 100644 index 000000000000..d59a8c141460 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-tzip4_view.out @@ -0,0 +1,55 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/tzip4_view.tz --details +Well typed +Gas remaining: 1039986.099 units remaining +{ parameter + (or (pair %view_const unit (contract nat)) + (pair %view_add (pair int int) (contract int))) ; + storage unit ; + code { CAR + /* [ or (pair unit (contract nat)) (pair (pair int int) (contract int)) ] */ ; + IF_LEFT + { CDR + /* [ contract nat ] */ ; + AMOUNT + /* [ mutez : contract nat ] */ ; + PUSH nat 5 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ ; + UNIT + /* [ unit : list operation ] */ ; + SWAP + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } + { UNPAIR + /* [ pair int int : contract int ] */ ; + UNPAIR + /* [ int : int : contract int ] */ ; + ADD + /* [ int : contract int ] */ ; + AMOUNT + /* [ mutez : int : contract int ] */ ; + SWAP + /* [ int : mutez : contract int ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ ; + UNIT + /* [ unit : list operation ] */ ; + SWAP + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-very_small.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-very_small.out new file mode 100644 index 000000000000..75d373acdd7e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-very_small.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/very_small.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter unit ; + storage unit ; + code { UNPAIR + /* [ unit : unit ] */ ; + DROP + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-view_check_caller.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-view_check_caller.out new file mode 100644 index 000000000000..f6621af4295e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-view_check_caller.out @@ -0,0 +1,37 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/view_check_caller.tz --details +Well typed +Gas remaining: 1039982.378 units remaining +{ parameter address ; + storage (option address) ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + UNIT + /* [ unit : address : address ] */ ; + VIEW "calls_count" nat + /* [ option nat : address ] */ ; + IF_NONE { UNIT /* [ unit : address ] */ ; FAILWITH /* [] */ } { /* [ nat : address ] */ } ; + DIP { UNIT + /* [ unit : address ] */ ; + VIEW "last_caller" (option address) + /* [ option (option address) ] */ } + /* [ nat : option (option address) ] */ ; + PUSH nat 0 + /* [ nat : nat : option (option address) ] */ ; + IFCMPEQ + { IF_NONE + { UNIT /* [ unit ] */ ; FAILWITH /* [] */ } + { IF_NONE { /* [] */ } { UNIT /* [ unit : address ] */ ; FAILWITH /* [] */ } } ; + NONE address + /* [ option address ] */ } + { IF_NONE + { UNIT /* [ unit ] */ ; FAILWITH /* [] */ } + { IF_NONE { UNIT /* [ unit ] */ ; FAILWITH /* [] */ } { /* [ address ] */ } } ; + SOME + /* [ option address ] */ } ; + NIL operation + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-view_registers_callers.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-view_registers_callers.out new file mode 100644 index 000000000000..0701630f9519 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-view_registers_callers.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/view_registers_callers.tz --details +Well typed +Gas remaining: 1039990.957 units remaining +{ parameter unit ; + storage (list address) ; + code { CDR + /* [ list address ] */ ; + SOURCE + /* [ address : list address ] */ ; + CONS + /* [ list address ] */ ; + NIL operation + /* [ list operation : list address ] */ ; + PAIR + /* [ pair (list operation) (list address) ] */ } ; + view "calls_count" unit nat { CDR /* [ list address ] */ ; SIZE /* [ nat ] */ } ; + view "last_caller" + unit + (option address) + { CDR + /* [ list address ] */ ; + IF_CONS + { DIP { DROP /* [] */ } /* [ address ] */ ; SOME /* [ option address ] */ } + { NONE address /* [ option address ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-viewable.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-viewable.out new file mode 100644 index 000000000000..eacad72a711f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-viewable.out @@ -0,0 +1,119 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/viewable.tz --details +Well typed +Gas remaining: 1039959.449 units remaining +{ parameter nat ; + storage nat ; + code { CAR + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } ; + view "add_v" nat nat { UNPAIR /* [ nat : nat ] */ ; ADD /* [ nat ] */ } ; + view "mul_v" nat nat { UNPAIR /* [ nat : nat ] */ ; MUL /* [ nat ] */ } ; + view "value" unit nat { CDR /* [ nat ] */ } ; + view "loop" + int + unit + { CAR + /* [ int ] */ ; + DUP + /* [ int : int ] */ ; + EQ + /* [ bool : int ] */ ; + IF { DROP /* [] */ ; UNIT /* [ unit ] */ } + { SELF_ADDRESS + /* [ address : int ] */ ; + SWAP + /* [ int : address ] */ ; + PUSH int -1 + /* [ int : int : address ] */ ; + ADD + /* [ int : address ] */ ; + VIEW "loop" unit + /* [ option unit ] */ ; + ASSERT_SOME } } ; + view "my_external_view" + int + int + { LAMBDA + int + int + { DUP /* [ int : int ] */ ; MUL /* [ int ] */ } + /* [ lambda int int : pair int nat ] */ ; + SWAP + /* [ pair int nat : lambda int int ] */ ; + UNPAIR + /* [ int : nat : lambda int int ] */ ; + DUP 3 + /* [ lambda int int : int : nat : lambda int int ] */ ; + SWAP + /* [ int : lambda int int : nat : lambda int int ] */ ; + EXEC + /* [ int : nat : lambda int int ] */ ; + SWAP + /* [ nat : int : lambda int int ] */ ; + DIG 2 + /* [ lambda int int : nat : int ] */ ; + SWAP + /* [ nat : lambda int int : int ] */ ; + INT + /* [ int : lambda int int : int ] */ ; + EXEC + /* [ int : int ] */ ; + ADD + /* [ int ] */ ; + PUSH int 1000000 + /* [ int : int ] */ ; + NEG + /* [ int : int ] */ ; + ADD + /* [ int ] */ } ; + view "v_external" + address + int + { UNPAIR + /* [ address : nat ] */ ; + PUSH int 33 + /* [ int : address : nat ] */ ; + VIEW "my_external_view" int + /* [ option int : nat ] */ ; + IF_NONE + { DROP + /* [] */ ; + PUSH string "Call to 'my_external_view' returned None" + /* [ string ] */ ; + FAILWITH + /* [] */ } + { ADD /* [ int ] */ } } ; + view "v_entrypoint" + int + int + { LAMBDA + int + int + { DUP /* [ int : int ] */ ; MUL /* [ int ] */ } + /* [ lambda int int : pair int nat ] */ ; + SWAP + /* [ pair int nat : lambda int int ] */ ; + UNPAIR + /* [ int : nat : lambda int int ] */ ; + DUP 3 + /* [ lambda int int : int : nat : lambda int int ] */ ; + SWAP + /* [ int : lambda int int : nat : lambda int int ] */ ; + EXEC + /* [ int : nat : lambda int int ] */ ; + SWAP + /* [ nat : int : lambda int int ] */ ; + DIG 2 + /* [ lambda int int : nat : int ] */ ; + SWAP + /* [ nat : lambda int int : int ] */ ; + INT + /* [ int : lambda int int : int ] */ ; + EXEC + /* [ int : int ] */ ; + ADD + /* [ int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-vote_for_delegate.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-vote_for_delegate.out new file mode 100644 index 000000000000..770fe220deaa --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-vote_for_delegate.out @@ -0,0 +1,114 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/vote_for_delegate.tz --details +Well typed +Gas remaining: 1039945.231 units remaining +{ parameter (option key_hash) ; + storage + (pair (pair %mgr1 (address %addr) (option %key key_hash)) + (pair %mgr2 (address %addr) (option %key key_hash))) ; + code { DUP + /* [ pair (option key_hash) (pair address (option key_hash)) address (option key_hash) + : pair (option key_hash) (pair address (option key_hash)) address (option key_hash) ] */ ; + CDAAR %addr @% ; + SENDER + /* [ address : address + : pair (option key_hash) (pair address (option key_hash)) address (option key_hash) ] */ ; + PAIR %@ %@ + /* [ pair address address + : pair (option key_hash) (pair address (option key_hash)) address (option key_hash) ] */ ; + UNPAIR + /* [ address : address + : pair (option key_hash) (pair address (option key_hash)) address (option key_hash) ] */ ; + IFCMPEQ + { UNPAIR + /* [ option key_hash + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + SWAP + /* [ pair (pair address (option key_hash)) address (option key_hash) + : option key_hash ] */ ; + SET_CADR %key @changed_mgr1_key } + { DUP + /* [ pair (option key_hash) (pair address (option key_hash)) address (option key_hash) + : pair (option key_hash) (pair address (option key_hash)) address (option key_hash) ] */ ; + CDDAR ; + SENDER + /* [ address : address + : pair (option key_hash) (pair address (option key_hash)) address (option key_hash) ] */ ; + IFCMPEQ + { UNPAIR + /* [ option key_hash + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + SWAP + /* [ pair (pair address (option key_hash)) address (option key_hash) + : option key_hash ] */ ; + SET_CDDR %key } + { FAIL } } ; + DUP + /* [ pair (pair address (option key_hash)) address (option key_hash) + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + CADR ; + DIP { DUP + /* [ pair (pair address (option key_hash)) address (option key_hash) + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + CDDR } + /* [ option key_hash : option key_hash + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + IF_NONE + { IF_NONE + { NONE key_hash + /* [ option key_hash + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + SET_DELEGATE + /* [ operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + NIL operation + /* [ list operation : operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + SWAP + /* [ operation : list operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + CONS + /* [ list operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ } + { DROP + /* [ pair (pair address (option key_hash)) address (option key_hash) ] */ ; + NIL operation + /* [ list operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ } } + { SWAP + /* [ option key_hash : key_hash + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + IF_SOME + { DIP { DUP + /* [ key_hash : key_hash + : pair (pair address (option key_hash)) address (option key_hash) ] */ } + /* [ key_hash : key_hash : key_hash + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + IFCMPEQ + { SOME + /* [ option key_hash + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + SET_DELEGATE + /* [ operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + NIL operation + /* [ list operation : operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + SWAP + /* [ operation : list operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ ; + CONS + /* [ list operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ } + { DROP + /* [ pair (pair address (option key_hash)) address (option key_hash) ] */ ; + NIL operation + /* [ list operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ } } + { DROP + /* [ pair (pair address (option key_hash)) address (option key_hash) ] */ ; + NIL operation + /* [ list operation + : pair (pair address (option key_hash)) address (option key_hash) ] */ } } ; + PAIR + /* [ pair (list operation) (pair address (option key_hash)) address (option key_hash) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-weather_insurance.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-weather_insurance.out new file mode 100644 index 000000000000..fefc01974bb4 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-weather_insurance.out @@ -0,0 +1,87 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/weather_insurance.tz --details +Well typed +Gas remaining: 1039963.680 units remaining +{ parameter (pair (signature %signed_weather_data) (nat :rain %actual_level)) ; + storage + (pair (pair (address %under_key) (address %over_key)) + (pair (nat :rain %rain_level) (key %weather_service_key))) ; + code { DUP + /* [ pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key ] */ ; + DUP + /* [ pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key ] */ ; + CAR + /* [ pair signature nat + : pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key ] */ ; + MAP_CDR + { PACK + /* [ bytes : pair signature nat + : pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key ] */ ; + BLAKE2B + /* [ bytes : pair signature nat + : pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key ] */ } ; + SWAP + /* [ pair (pair signature nat) (pair address address) nat key + : pair signature bytes + : pair (pair signature nat) (pair address address) nat key ] */ ; + CDDDR %weather_service_key ; + DIP { UNPAIR + /* [ signature : bytes + : pair (pair signature nat) (pair address address) nat key ] */ } + /* [ key : signature : bytes + : pair (pair signature nat) (pair address address) nat key ] */ ; + CHECK_SIGNATURE @sigok + /* [ bool : pair (pair signature nat) (pair address address) nat key ] */ ; + ASSERT ; + DUP + /* [ pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key ] */ ; + DUP + /* [ pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key ] */ ; + DUP + /* [ pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key ] */ ; + DIIIP + { CDR %storage /* [ pair (pair address address) nat key ] */ } + /* [ pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key + : pair (pair address address) nat key ] */ ; + DIIP { CDAR } + /* [ pair (pair signature nat) (pair address address) nat key + : pair (pair signature nat) (pair address address) nat key + : pair address address : pair (pair address address) nat key ] */ ; + DIP { CADR %actual_level } + /* [ pair (pair signature nat) (pair address address) nat key : nat + : pair address address : pair (pair address address) nat key ] */ ; + CDDAR %rain_level ; + CMPLT ; + IF { CAR %under_key /* [ address : pair (pair address address) nat key ] */ } + { CDR %over_key /* [ address : pair (pair address address) nat key ] */ } ; + CONTRACT unit + /* [ option (contract unit) : pair (pair address address) nat key ] */ ; + ASSERT_SOME ; + BALANCE + /* [ mutez : contract unit : pair (pair address address) nat key ] */ ; + UNIT + /* [ unit : mutez : contract unit : pair (pair address address) nat key ] */ ; + TRANSFER_TOKENS @trans.op + /* [ operation : pair (pair address address) nat key ] */ ; + NIL operation + /* [ list operation : operation : pair (pair address address) nat key ] */ ; + SWAP + /* [ operation : list operation : pair (pair address address) nat key ] */ ; + CONS + /* [ list operation : pair (pair address address) nat key ] */ ; + PAIR + /* [ pair (list operation) (pair address address) nat key ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-xcat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-xcat.out new file mode 100644 index 000000000000..91978bf99715 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-xcat.out @@ -0,0 +1,83 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/xcat.tz --details +Well typed +Gas remaining: 1039967.305 units remaining +{ parameter bytes ; + storage unit ; + code { CAR @preimage + /* [ bytes ] */ ; + DIP { PUSH @from key_hash "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + /* [ key_hash ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit ] */ ; + PUSH @to + key_hash + "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" + /* [ key_hash : contract unit ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit : contract unit ] */ ; + PUSH @target_hash bytes 0x123456 + /* [ bytes : contract unit : contract unit ] */ ; + PUSH @deadline + timestamp + "2018-08-08 00:00:00Z" + /* [ timestamp : bytes : contract unit : contract unit ] */ } + /* [ bytes : timestamp : bytes : contract unit : contract unit ] */ ; + SWAP + /* [ timestamp : bytes : bytes : contract unit : contract unit ] */ ; + NOW + /* [ timestamp : timestamp : bytes : bytes : contract unit : contract unit ] */ ; + IFCMPLT + { DROP + /* [ bytes : contract unit : contract unit ] */ ; + DROP + /* [ contract unit : contract unit ] */ ; + DROP + /* [ contract unit ] */ ; + BALANCE + /* [ mutez : contract unit ] */ ; + UNIT + /* [ unit : mutez : contract unit ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ } + { DUP + /* [ bytes : bytes : bytes : contract unit : contract unit ] */ ; + SIZE + /* [ nat : bytes : bytes : contract unit : contract unit ] */ ; + PUSH @max_length + nat + 32 + /* [ nat : nat : bytes : bytes : contract unit : contract unit ] */ ; + IFCMPLT + { PUSH string + "preimage too long" + /* [ string : bytes : bytes : contract unit : contract unit ] */ ; + FAILWITH + /* [] */ } + { SHA256 @candidate_hash + /* [ bytes : bytes : contract unit : contract unit ] */ ; + IFCMPNEQ + { PUSH string "invalid preimage" + /* [ string : contract unit : contract unit ] */ ; + FAILWITH + /* [] */ } + { BALANCE + /* [ mutez : contract unit : contract unit ] */ ; + UNIT + /* [ unit : mutez : contract unit : contract unit ] */ ; + TRANSFER_TOKENS + /* [ operation : contract unit ] */ ; + DIP { DROP /* [] */ } + /* [ operation ] */ } } } ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ ; + UNIT + /* [ unit : list operation ] */ ; + SWAP + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-xcat_dapp.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-xcat_dapp.out new file mode 100644 index 000000000000..83afb3c1d1ff --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc mini_scenarios-xcat_dapp.out @@ -0,0 +1,308 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/mini_scenarios/xcat_dapp.tz --details +Well typed +Gas remaining: 1039922.932 units remaining +{ parameter + (or (pair %fund + (address %dest) + (pair %settings (bytes %target_hash) (timestamp %deadline))) + (or %claim_refund (bytes %preimage_claim) (bytes %refund_hash))) ; + storage + (pair (big_map + bytes + (pair (pair %recipients (address %from) (address %dest)) + (pair %settings (mutez %amount) (timestamp %deadline)))) + unit) ; + code { NIL @operations + operation + /* [ list operation + : pair (or (pair address bytes timestamp) (or bytes bytes)) + (big_map bytes (pair (pair address address) mutez timestamp)) + unit ] */ ; + SWAP + /* [ pair (or (pair address bytes timestamp) (or bytes bytes)) + (big_map bytes (pair (pair address address) mutez timestamp)) + unit : list operation ] */ ; + UNPAPAIR @% @% @% ; + DIP { DUP + /* [ big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ } + /* [ or (pair address bytes timestamp) (or bytes bytes) + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + IF_LEFT + { UNPAIR @% @% + /* [ address : pair bytes timestamp + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DUP + /* [ address : address : pair bytes timestamp + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + CONTRACT @dest + unit + /* [ option (contract unit) : address : pair bytes timestamp + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + ASSERT_SOME ; + DROP + /* [ address : pair bytes timestamp + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + SWAP + /* [ pair bytes timestamp : address + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + UNPAIR @% @% + /* [ bytes : timestamp : address + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DIP { AMOUNT @amount + /* [ mutez : timestamp : address + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + SENDER + /* [ address : mutez : timestamp : address + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DUP + /* [ address : address : mutez : timestamp : address + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + CONTRACT @from + unit + /* [ option (contract unit) : address : mutez : timestamp : address + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + ASSERT_SOME ; + DROP + /* [ address : mutez : timestamp : address + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DIP { PAIR + /* [ pair mutez timestamp : address + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + SWAP + /* [ address : pair mutez timestamp + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ } + /* [ address : address : pair mutez timestamp + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + PAIR + /* [ pair address address : pair mutez timestamp + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + PAIR + /* [ pair (pair address address) mutez timestamp + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + SOME @xcat + /* [ option (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + SWAP + /* [ big_map bytes (pair (pair address address) mutez timestamp) + : option (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ } + /* [ bytes : big_map bytes (pair (pair address address) mutez timestamp) + : option (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DUP + /* [ bytes : bytes : big_map bytes (pair (pair address address) mutez timestamp) + : option (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DIP { MEM + /* [ bool : option (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + NOT + /* [ bool : option (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + ASSERT } + /* [ bytes : option (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + UPDATE + /* [ big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + PAIR @new_storage + /* [ pair (big_map bytes (pair (pair address address) mutez timestamp)) unit + : list operation ] */ ; + SWAP + /* [ list operation + : pair (big_map bytes (pair (pair address address) mutez timestamp)) unit ] */ ; + PAIR + /* [ pair (list operation) + (big_map bytes (pair (pair address address) mutez timestamp)) + unit ] */ } + { IF_LEFT + { DUP + /* [ bytes : bytes : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + SIZE + /* [ nat : bytes : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + PUSH nat + 32 + /* [ nat : nat : bytes + : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + ASSERT_CMPGE ; + SHA256 @hash + /* [ bytes : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DUP + /* [ bytes : bytes : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DIP { SWAP + /* [ big_map bytes (pair (pair address address) mutez timestamp) : bytes + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ } + /* [ bytes : big_map bytes (pair (pair address address) mutez timestamp) : bytes + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DIIP { GET + /* [ option (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + ASSERT_SOME ; + DUP + /* [ pair (pair address address) mutez timestamp + : pair (pair address address) mutez timestamp : unit : list operation ] */ ; + CADR @% ; + CONTRACT @dest + unit + /* [ option (contract unit) : pair (pair address address) mutez timestamp : unit + : list operation ] */ ; + ASSERT_SOME ; + SWAP + /* [ pair (pair address address) mutez timestamp : contract unit : unit + : list operation ] */ ; + CDR @% + /* [ pair mutez timestamp : contract unit : unit : list operation ] */ ; + UNPAIR @% @% + /* [ mutez : timestamp : contract unit : unit : list operation ] */ ; + SWAP + /* [ timestamp : mutez : contract unit : unit : list operation ] */ ; + NOW + /* [ timestamp : timestamp : mutez : contract unit : unit : list operation ] */ ; + ASSERT_CMPLT ; + UNIT + /* [ unit : mutez : contract unit : unit : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : unit : list operation ] */ } + /* [ bytes : big_map bytes (pair (pair address address) mutez timestamp) + : operation : unit : list operation ] */ } + { DUP + /* [ bytes : bytes : big_map bytes (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + DIP { GET + /* [ option (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + ASSERT_SOME ; + DUP + /* [ pair (pair address address) mutez timestamp + : pair (pair address address) mutez timestamp + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + CAAR @% ; + CONTRACT @from + unit + /* [ option (contract unit) : pair (pair address address) mutez timestamp + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + ASSERT_SOME ; + SWAP + /* [ pair (pair address address) mutez timestamp : contract unit + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + CDR + /* [ pair mutez timestamp : contract unit + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + UNPAIR @% @% + /* [ mutez : timestamp : contract unit + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + SWAP + /* [ timestamp : mutez : contract unit + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + NOW + /* [ timestamp : timestamp : mutez : contract unit + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + ASSERT_CMPGE ; + UNIT + /* [ unit : mutez : contract unit + : big_map bytes (pair (pair address address) mutez timestamp) : unit + : list operation ] */ ; + TRANSFER_TOKENS + /* [ operation : big_map bytes (pair (pair address address) mutez timestamp) + : unit : list operation ] */ ; + SWAP + /* [ big_map bytes (pair (pair address address) mutez timestamp) : operation + : unit : list operation ] */ } + /* [ bytes : big_map bytes (pair (pair address address) mutez timestamp) + : operation : unit : list operation ] */ } ; + NONE @none + (pair (pair address address) (pair mutez timestamp)) + /* [ option (pair (pair address address) mutez timestamp) : bytes + : big_map bytes (pair (pair address address) mutez timestamp) : operation + : unit : list operation ] */ ; + SWAP + /* [ bytes : option (pair (pair address address) mutez timestamp) + : big_map bytes (pair (pair address address) mutez timestamp) : operation + : unit : list operation ] */ ; + UPDATE @cleared_map + /* [ big_map bytes (pair (pair address address) mutez timestamp) : operation + : unit : list operation ] */ ; + SWAP + /* [ operation : big_map bytes (pair (pair address address) mutez timestamp) + : unit : list operation ] */ ; + DIP { PAIR + /* [ pair (big_map bytes (pair (pair address address) mutez timestamp)) unit + : list operation ] */ ; + SWAP + /* [ list operation + : pair (big_map bytes (pair (pair address address) mutez timestamp)) unit ] */ } + /* [ operation : list operation + : pair (big_map bytes (pair (pair address address) mutez timestamp)) unit ] */ ; + CONS + /* [ list operation + : pair (big_map bytes (pair (pair address address) mutez timestamp)) unit ] */ ; + PAIR + /* [ pair (list operation) + (big_map bytes (pair (pair address address) mutez timestamp)) + unit ] */ } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-262_bug.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-262_bug.out new file mode 100644 index 000000000000..6350db08a20f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-262_bug.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/non_regression/262_bug.tz --details +Well typed +Gas remaining: 1039995.909 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + LAMBDA unit unit { /* [ unit ] */ } + /* [ lambda unit unit ] */ ; + UNIT + /* [ unit : lambda unit unit ] */ ; + EXEC + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-843_bug.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-843_bug.out new file mode 100644 index 000000000000..3caddb50f9be --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-843_bug.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/non_regression/843_bug.tz --details +Well typed +Gas remaining: 1039993.549 units remaining +{ parameter never ; + storage (pair address (lambda unit unit)) ; + code { CAR + /* [ never ] */ ; + PUSH address "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + /* [ address : never ] */ ; + DROP + /* [ never ] */ ; + NEVER + /* [] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-bad_annot_contract.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-bad_annot_contract.out new file mode 100644 index 000000000000..539066204a13 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-bad_annot_contract.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/non_regression/bad_annot_contract.tz --details +Well typed +Gas remaining: 1039996.681 units remaining +{ parameter bytes ; + storage (option (lambda unit unit)) ; + code { CAR + /* [ bytes ] */ ; + UNPACK (lambda unit unit) + /* [ option (lambda unit unit) ] */ ; + NIL operation + /* [ list operation : option (lambda unit unit) ] */ ; + PAIR + /* [ pair (list operation) (option (lambda unit unit)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-pairk_annot.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-pairk_annot.out new file mode 100644 index 000000000000..cc29c7712e5f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc non_regression-pairk_annot.out @@ -0,0 +1,28 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/non_regression/pairk_annot.tz --details +Well typed +Gas remaining: 1039993.678 units remaining +{ parameter unit ; + storage unit ; + code { SENDER + /* [ address : pair unit unit ] */ ; + SOURCE + /* [ address : address : pair unit unit ] */ ; + PAIR 2 + /* [ pair address address : pair unit unit ] */ ; + SOURCE + /* [ address : pair address address : pair unit unit ] */ ; + SENDER + /* [ address : address : pair address address : pair unit unit ] */ ; + PAIR 2 + /* [ pair address address : pair address address : pair unit unit ] */ ; + COMPARE + /* [ int : pair unit unit ] */ ; + DROP + /* [ pair unit unit ] */ ; + CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-abs.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-abs.out new file mode 100644 index 000000000000..a46955be1e2a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-abs.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/abs.tz --details +Well typed +Gas remaining: 1039992.714 units remaining +{ parameter nat ; + storage unit ; + code { CAR + /* [ nat ] */ ; + DUP + /* [ nat : nat ] */ ; + NEG + /* [ int : nat ] */ ; + ABS + /* [ nat : nat ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add.out new file mode 100644 index 000000000000..81b21a0ba9e2 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add.out @@ -0,0 +1,84 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/add.tz --details +Well typed +Gas remaining: 1039947.571 units remaining +{ parameter unit ; + storage unit ; + code { CAR + /* [ unit ] */ ; + PUSH int 2 + /* [ int : unit ] */ ; + PUSH int 2 + /* [ int : int : unit ] */ ; + ADD + /* [ int : unit ] */ ; + PUSH int 4 + /* [ int : int : unit ] */ ; + ASSERT_CMPEQ ; + PUSH int 2 + /* [ int : unit ] */ ; + PUSH int 2 + /* [ int : int : unit ] */ ; + ADD + /* [ int : unit ] */ ; + PUSH int 4 + /* [ int : int : unit ] */ ; + ASSERT_CMPEQ ; + PUSH int 2 + /* [ int : unit ] */ ; + PUSH nat 2 + /* [ nat : int : unit ] */ ; + ADD + /* [ int : unit ] */ ; + PUSH int 4 + /* [ int : int : unit ] */ ; + ASSERT_CMPEQ ; + PUSH nat 2 + /* [ nat : unit ] */ ; + PUSH int 2 + /* [ int : nat : unit ] */ ; + ADD + /* [ int : unit ] */ ; + PUSH int 4 + /* [ int : int : unit ] */ ; + ASSERT_CMPEQ ; + PUSH nat 2 + /* [ nat : unit ] */ ; + PUSH nat 2 + /* [ nat : nat : unit ] */ ; + ADD + /* [ nat : unit ] */ ; + PUSH nat 4 + /* [ nat : nat : unit ] */ ; + ASSERT_CMPEQ ; + PUSH int 60 + /* [ int : unit ] */ ; + PUSH timestamp "2019-09-09T12:08:37Z" + /* [ timestamp : int : unit ] */ ; + ADD + /* [ timestamp : unit ] */ ; + PUSH timestamp "2019-09-09T12:09:37Z" + /* [ timestamp : timestamp : unit ] */ ; + ASSERT_CMPEQ ; + PUSH timestamp "2019-09-09T12:08:37Z" + /* [ timestamp : unit ] */ ; + PUSH int 60 + /* [ int : timestamp : unit ] */ ; + ADD + /* [ timestamp : unit ] */ ; + PUSH timestamp "2019-09-09T12:09:37Z" + /* [ timestamp : timestamp : unit ] */ ; + ASSERT_CMPEQ ; + PUSH mutez 1000 + /* [ mutez : unit ] */ ; + PUSH mutez 1000 + /* [ mutez : mutez : unit ] */ ; + ADD + /* [ mutez : unit ] */ ; + PUSH mutez 2000 + /* [ mutez : mutez : unit ] */ ; + ASSERT_CMPEQ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_fr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_fr.out new file mode 100644 index 000000000000..898c65265329 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_fr.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/add_bls12_381_fr.tz --details +Well typed +Gas remaining: 1039996.129 units remaining +{ parameter (pair bls12_381_fr bls12_381_fr) ; + storage (option bls12_381_fr) ; + code { CAR + /* [ pair bls12_381_fr bls12_381_fr ] */ ; + UNPAIR + /* [ bls12_381_fr : bls12_381_fr ] */ ; + ADD + /* [ bls12_381_fr ] */ ; + SOME + /* [ option bls12_381_fr ] */ ; + NIL operation + /* [ list operation : option bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_fr) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_g1.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_g1.out new file mode 100644 index 000000000000..ee90180b1be6 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_g1.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/add_bls12_381_g1.tz --details +Well typed +Gas remaining: 1039996.129 units remaining +{ parameter (pair bls12_381_g1 bls12_381_g1) ; + storage (option bls12_381_g1) ; + code { CAR + /* [ pair bls12_381_g1 bls12_381_g1 ] */ ; + UNPAIR + /* [ bls12_381_g1 : bls12_381_g1 ] */ ; + ADD + /* [ bls12_381_g1 ] */ ; + SOME + /* [ option bls12_381_g1 ] */ ; + NIL operation + /* [ list operation : option bls12_381_g1 ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_g1) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_g2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_g2.out new file mode 100644 index 000000000000..8c811531d238 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_bls12_381_g2.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/add_bls12_381_g2.tz --details +Well typed +Gas remaining: 1039996.129 units remaining +{ parameter (pair bls12_381_g2 bls12_381_g2) ; + storage (option bls12_381_g2) ; + code { CAR + /* [ pair bls12_381_g2 bls12_381_g2 ] */ ; + UNPAIR + /* [ bls12_381_g2 : bls12_381_g2 ] */ ; + ADD + /* [ bls12_381_g2 ] */ ; + SOME + /* [ option bls12_381_g2 ] */ ; + NIL operation + /* [ list operation : option bls12_381_g2 ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_g2) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_delta_timestamp.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_delta_timestamp.out new file mode 100644 index 000000000000..fbb89ccb8d7c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_delta_timestamp.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/add_delta_timestamp.tz --details +Well typed +Gas remaining: 1039994.398 units remaining +{ parameter (pair int timestamp) ; + storage (option timestamp) ; + code { CAR + /* [ pair int timestamp ] */ ; + DUP + /* [ pair int timestamp : pair int timestamp ] */ ; + CAR + /* [ int : pair int timestamp ] */ ; + DIP { CDR /* [ timestamp ] */ } + /* [ int : timestamp ] */ ; + ADD + /* [ timestamp ] */ ; + SOME + /* [ option timestamp ] */ ; + NIL operation + /* [ list operation : option timestamp ] */ ; + PAIR + /* [ pair (list operation) (option timestamp) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_timestamp_delta.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_timestamp_delta.out new file mode 100644 index 000000000000..d46f58e622e8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-add_timestamp_delta.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/add_timestamp_delta.tz --details +Well typed +Gas remaining: 1039994.398 units remaining +{ parameter (pair timestamp int) ; + storage (option timestamp) ; + code { CAR + /* [ pair timestamp int ] */ ; + DUP + /* [ pair timestamp int : pair timestamp int ] */ ; + CAR + /* [ timestamp : pair timestamp int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ timestamp : int ] */ ; + ADD + /* [ timestamp ] */ ; + SOME + /* [ option timestamp ] */ ; + NIL operation + /* [ list operation : option timestamp ] */ ; + PAIR + /* [ pair (list operation) (option timestamp) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-address.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-address.out new file mode 100644 index 000000000000..ed0af3c8eb27 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-address.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/address.tz --details +Well typed +Gas remaining: 1039996.754 units remaining +{ parameter (contract unit) ; + storage (option address) ; + code { CAR + /* [ contract unit ] */ ; + ADDRESS + /* [ address ] */ ; + SOME + /* [ option address ] */ ; + NIL operation + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_fib_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_fib_view.out new file mode 100644 index 000000000000..f3485bba0b81 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_fib_view.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/amount_after_fib_view.tz --details +Well typed +Gas remaining: 1039986.567 units remaining +{ parameter address ; + storage mutez ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 3 + /* [ nat : address : address ] */ ; + VIEW "fib" nat + /* [ option nat : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 15000000 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + AMOUNT + /* [ mutez : operation ] */ ; + SWAP + /* [ operation : mutez ] */ ; + NIL operation + /* [ list operation : operation : mutez ] */ ; + SWAP + /* [ operation : list operation : mutez ] */ ; + CONS + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_nonexistent_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_nonexistent_view.out new file mode 100644 index 000000000000..c02b725a249c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_nonexistent_view.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/amount_after_nonexistent_view.tz --details +Well typed +Gas remaining: 1039986.775 units remaining +{ parameter address ; + storage mutez ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "nonexistent" (pair nat nat) + /* [ option (pair nat nat) : address ] */ ; + ASSERT_NONE ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 15000000 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + AMOUNT + /* [ mutez : operation ] */ ; + SWAP + /* [ operation : mutez ] */ ; + NIL operation + /* [ list operation : operation : mutez ] */ ; + SWAP + /* [ operation : list operation : mutez ] */ ; + CONS + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_view.out new file mode 100644 index 000000000000..43052f329353 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-amount_after_view.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/amount_after_view.tz --details +Well typed +Gas remaining: 1039986.392 units remaining +{ parameter address ; + storage mutez ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "id" (pair nat nat) + /* [ option (pair nat nat) : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 15000000 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + AMOUNT + /* [ mutez : operation ] */ ; + SWAP + /* [ operation : mutez ] */ ; + NIL operation + /* [ list operation : operation : mutez ] */ ; + SWAP + /* [ operation : list operation : mutez ] */ ; + CONS + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and.out new file mode 100644 index 000000000000..fd088608eae0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/and.tz --details +Well typed +Gas remaining: 1039995.193 units remaining +{ parameter (pair :param (bool %first) (bool %second)) ; + storage (option bool) ; + code { CAR + /* [ pair bool bool ] */ ; + UNPAIR + /* [ bool : bool ] */ ; + AND @and + /* [ bool ] */ ; + SOME @res + /* [ option bool ] */ ; + NIL @noop operation + /* [ list operation : option bool ] */ ; + PAIR + /* [ pair (list operation) (option bool) ] */ ; + UNPAIR @x @y + /* [ list operation : option bool ] */ ; + PAIR %a %b + /* [ pair (list operation) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_binary.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_binary.out new file mode 100644 index 000000000000..a6b6a7632af8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_binary.out @@ -0,0 +1,50 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/and_binary.tz --details +Well typed +Gas remaining: 1039972.796 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH nat 5 + /* [ nat ] */ ; + PUSH nat 6 + /* [ nat : nat ] */ ; + AND + /* [ nat ] */ ; + PUSH nat 4 + /* [ nat : nat ] */ ; + ASSERT_CMPEQ ; + PUSH nat 6 + /* [ nat ] */ ; + PUSH int 5 + /* [ int : nat ] */ ; + AND + /* [ nat ] */ ; + PUSH nat 4 + /* [ nat : nat ] */ ; + ASSERT_CMPEQ ; + PUSH nat 12 + /* [ nat ] */ ; + PUSH int -1 + /* [ int : nat ] */ ; + AND + /* [ nat ] */ ; + PUSH nat 12 + /* [ nat : nat ] */ ; + ASSERT_CMPEQ ; + PUSH nat 12 + /* [ nat ] */ ; + PUSH int -5 + /* [ int : nat ] */ ; + AND + /* [ nat ] */ ; + PUSH nat 8 + /* [ nat : nat ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL @noop operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_bytes.out new file mode 100644 index 000000000000..e1f7760679d0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_bytes.out @@ -0,0 +1,41 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/and_bytes_016.tz --details +Well typed +Gas remaining: 1039978.916 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH bytes 0x05 + /* [ bytes ] */ ; + PUSH bytes 0x06 + /* [ bytes : bytes ] */ ; + AND + /* [ bytes ] */ ; + PUSH bytes 0x04 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x0005 + /* [ bytes ] */ ; + PUSH bytes 0x0106 + /* [ bytes : bytes ] */ ; + AND + /* [ bytes ] */ ; + PUSH bytes 0x0004 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x05 + /* [ bytes ] */ ; + PUSH bytes 0x0106 + /* [ bytes : bytes ] */ ; + AND + /* [ bytes ] */ ; + PUSH bytes 0x04 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL @noop operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_logical_1.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_logical_1.out new file mode 100644 index 000000000000..66e227bcd9f9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-and_logical_1.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/and_logical_1.tz --details +Well typed +Gas remaining: 1039996.814 units remaining +{ parameter (pair bool bool) ; + storage bool ; + code { CAR + /* [ pair bool bool ] */ ; + UNPAIR + /* [ bool : bool ] */ ; + AND @and + /* [ bool ] */ ; + NIL @noop operation + /* [ list operation : bool ] */ ; + PAIR + /* [ pair (list operation) bool ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance.out new file mode 100644 index 000000000000..7743f4b0e6cf --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/balance.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter unit ; + storage mutez ; + code { DROP + /* [] */ ; + BALANCE + /* [ mutez ] */ ; + NIL operation + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_fib_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_fib_view.out new file mode 100644 index 000000000000..ba51466e856e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_fib_view.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/balance_after_fib_view.tz --details +Well typed +Gas remaining: 1039986.567 units remaining +{ parameter address ; + storage mutez ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 3 + /* [ nat : address : address ] */ ; + VIEW "fib" nat + /* [ option nat : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 15000000 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + BALANCE + /* [ mutez : operation ] */ ; + SWAP + /* [ operation : mutez ] */ ; + NIL operation + /* [ list operation : operation : mutez ] */ ; + SWAP + /* [ operation : list operation : mutez ] */ ; + CONS + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_nonexistent_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_nonexistent_view.out new file mode 100644 index 000000000000..f87471a28a80 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_nonexistent_view.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/balance_after_nonexistent_view.tz --details +Well typed +Gas remaining: 1039986.775 units remaining +{ parameter address ; + storage mutez ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "nonexistent" (pair nat nat) + /* [ option (pair nat nat) : address ] */ ; + ASSERT_NONE ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 15000000 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + BALANCE + /* [ mutez : operation ] */ ; + SWAP + /* [ operation : mutez ] */ ; + NIL operation + /* [ list operation : operation : mutez ] */ ; + SWAP + /* [ operation : list operation : mutez ] */ ; + CONS + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_view.out new file mode 100644 index 000000000000..1a02e34360d5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-balance_after_view.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/balance_after_view.tz --details +Well typed +Gas remaining: 1039986.392 units remaining +{ parameter address ; + storage mutez ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "id" (pair nat nat) + /* [ option (pair nat nat) : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 15000000 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + BALANCE + /* [ mutez : operation ] */ ; + SWAP + /* [ operation : mutez ] */ ; + NIL operation + /* [ list operation : operation : mutez ] */ ; + SWAP + /* [ operation : list operation : mutez ] */ ; + CONS + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_mem_nat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_mem_nat.out new file mode 100644 index 000000000000..dc7a9c71b326 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_mem_nat.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/big_map_mem_nat.tz --details +Well typed +Gas remaining: 1039993.494 units remaining +{ parameter nat ; + storage (pair (big_map nat nat) (option bool)) ; + code { UNPAIR + /* [ nat : pair (big_map nat nat) (option bool) ] */ ; + DIP { CAR /* [ big_map nat nat ] */ ; DUP /* [ big_map nat nat : big_map nat nat ] */ } + /* [ nat : big_map nat nat : big_map nat nat ] */ ; + MEM + /* [ bool : big_map nat nat ] */ ; + SOME + /* [ option bool : big_map nat nat ] */ ; + SWAP + /* [ big_map nat nat : option bool ] */ ; + PAIR + /* [ pair (big_map nat nat) (option bool) ] */ ; + NIL operation + /* [ list operation : pair (big_map nat nat) (option bool) ] */ ; + PAIR + /* [ pair (list operation) (big_map nat nat) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_mem_string.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_mem_string.out new file mode 100644 index 000000000000..3758b20b8a98 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_mem_string.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/big_map_mem_string.tz --details +Well typed +Gas remaining: 1039993.494 units remaining +{ parameter string ; + storage (pair (big_map string nat) (option bool)) ; + code { UNPAIR + /* [ string : pair (big_map string nat) (option bool) ] */ ; + DIP { CAR + /* [ big_map string nat ] */ ; + DUP + /* [ big_map string nat : big_map string nat ] */ } + /* [ string : big_map string nat : big_map string nat ] */ ; + MEM + /* [ bool : big_map string nat ] */ ; + SOME + /* [ option bool : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : option bool ] */ ; + PAIR + /* [ pair (big_map string nat) (option bool) ] */ ; + NIL operation + /* [ list operation : pair (big_map string nat) (option bool) ] */ ; + PAIR + /* [ pair (list operation) (big_map string nat) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_to_self.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_to_self.out new file mode 100644 index 000000000000..d741a1ebc32f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-big_map_to_self.out @@ -0,0 +1,56 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/big_map_to_self.tz --details +Well typed +Gas remaining: 1039987.387 units remaining +{ parameter (or (pair %have_fun (big_map string nat) unit) (unit %default)) ; + storage (big_map string nat) ; + code { UNPAIR + /* [ or (pair (big_map string nat) unit) unit : big_map string nat ] */ ; + DIP { NIL operation /* [ list operation : big_map string nat ] */ } + /* [ or (pair (big_map string nat) unit) unit : list operation + : big_map string nat ] */ ; + IF_LEFT + { DROP /* [ list operation : big_map string nat ] */ } + { DROP + /* [ list operation : big_map string nat ] */ ; + SELF %have_fun + /* [ contract (pair (big_map string nat) unit) : list operation + : big_map string nat ] */ ; + PUSH mutez + 0 + /* [ mutez : contract (pair (big_map string nat) unit) : list operation + : big_map string nat ] */ ; + DUP 4 + /* [ big_map string nat : mutez : contract (pair (big_map string nat) unit) + : list operation : big_map string nat ] */ ; + PUSH (option nat) + (Some 8) + /* [ option nat : big_map string nat : mutez + : contract (pair (big_map string nat) unit) : list operation + : big_map string nat ] */ ; + PUSH string + "hahaha" + /* [ string : option nat : big_map string nat : mutez + : contract (pair (big_map string nat) unit) : list operation + : big_map string nat ] */ ; + UPDATE + /* [ big_map string nat : mutez : contract (pair (big_map string nat) unit) + : list operation : big_map string nat ] */ ; + UNIT + /* [ unit : big_map string nat : mutez + : contract (pair (big_map string nat) unit) : list operation + : big_map string nat ] */ ; + SWAP + /* [ big_map string nat : unit : mutez + : contract (pair (big_map string nat) unit) : list operation + : big_map string nat ] */ ; + PAIR + /* [ pair (big_map string nat) unit : mutez + : contract (pair (big_map string nat) unit) : list operation + : big_map string nat ] */ ; + TRANSFER_TOKENS + /* [ operation : list operation : big_map string nat ] */ ; + CONS + /* [ list operation : big_map string nat ] */ } ; + PAIR + /* [ pair (list operation) (big_map string nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_push_bytes_not_padded.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_push_bytes_not_padded.out new file mode 100644 index 000000000000..164d4376ad96 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_push_bytes_not_padded.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bls12_381_fr_push_bytes_not_padded.tz --details +Well typed +Gas remaining: 1039996.436 units remaining +{ parameter unit ; + storage (option bls12_381_fr) ; + code { DROP + /* [] */ ; + PUSH bls12_381_fr 0x00 + /* [ bls12_381_fr ] */ ; + SOME + /* [ option bls12_381_fr ] */ ; + NIL operation + /* [ list operation : option bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_fr) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_push_nat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_push_nat.out new file mode 100644 index 000000000000..b3604f7ff9a0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_push_nat.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bls12_381_fr_push_nat.tz --details +Well typed +Gas remaining: 1039996.436 units remaining +{ parameter unit ; + storage (option bls12_381_fr) ; + code { DROP + /* [] */ ; + PUSH bls12_381_fr 16 + /* [ bls12_381_fr ] */ ; + SOME + /* [ option bls12_381_fr ] */ ; + NIL operation + /* [ list operation : option bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_fr) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_to_int.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_to_int.out new file mode 100644 index 000000000000..c712974dd7a4 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_to_int.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bls12_381_fr_to_int.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter bls12_381_fr ; + storage int ; + code { CAR + /* [ bls12_381_fr ] */ ; + INT + /* [ int ] */ ; + NIL operation + /* [ list operation : int ] */ ; + PAIR + /* [ pair (list operation) int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_to_mutez.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_to_mutez.out new file mode 100644 index 000000000000..847e5cd4f82a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_to_mutez.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bls12_381_fr_to_mutez.tz --details +Well typed +Gas remaining: 1039993.594 units remaining +{ parameter bls12_381_fr ; + storage mutez ; + code { CAR + /* [ bls12_381_fr ] */ ; + INT + /* [ int ] */ ; + ISNAT + /* [ option nat ] */ ; + ASSERT_SOME ; + PUSH mutez 1 + /* [ mutez : nat ] */ ; + MUL + /* [ mutez ] */ ; + NIL operation + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_z_int.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_z_int.out new file mode 100644 index 000000000000..a0e7b13c8772 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_z_int.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter int ; + storage bls12_381_fr ; + code { UNPAIR + /* [ int : bls12_381_fr ] */ ; + MUL + /* [ bls12_381_fr ] */ ; + NIL operation + /* [ list operation : bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) bls12_381_fr ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_z_nat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_z_nat.out new file mode 100644 index 000000000000..7f3957e5fba6 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_fr_z_nat.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter nat ; + storage bls12_381_fr ; + code { UNPAIR + /* [ nat : bls12_381_fr ] */ ; + MUL + /* [ bls12_381_fr ] */ ; + NIL operation + /* [ list operation : bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) bls12_381_fr ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_z_fr_int.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_z_fr_int.out new file mode 100644 index 000000000000..5ed61a37aa61 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_z_fr_int.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz --details +Well typed +Gas remaining: 1039996.980 units remaining +{ parameter int ; + storage bls12_381_fr ; + code { UNPAIR + /* [ int : bls12_381_fr ] */ ; + SWAP + /* [ bls12_381_fr : int ] */ ; + MUL + /* [ bls12_381_fr ] */ ; + NIL operation + /* [ list operation : bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) bls12_381_fr ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_z_fr_nat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_z_fr_nat.out new file mode 100644 index 000000000000..888d417f5040 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bls12_381_z_fr_nat.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz --details +Well typed +Gas remaining: 1039996.980 units remaining +{ parameter nat ; + storage bls12_381_fr ; + code { UNPAIR + /* [ nat : bls12_381_fr ] */ ; + SWAP + /* [ bls12_381_fr : nat ] */ ; + MUL + /* [ bls12_381_fr ] */ ; + NIL operation + /* [ list operation : bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) bls12_381_fr ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes.out new file mode 100644 index 000000000000..eb78625cd0e9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bytes.tz --details +Well typed +Gas remaining: 1039997.907 units remaining +{ parameter bytes ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes_of_int.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes_of_int.out new file mode 100644 index 000000000000..282da9c49951 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes_of_int.out @@ -0,0 +1,126 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bytes_of_int_016.tz --details +Well typed +Gas remaining: 1039908.105 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH int 0 + /* [ int ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0x + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH int 1 + /* [ int ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0x01 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH int 1193046 + /* [ int ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0x123456 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x123456 + /* [ bytes ] */ ; + INT + /* [ int ] */ ; + PUSH int 1193046 + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x0000123456 + /* [ bytes ] */ ; + INT + /* [ int ] */ ; + PUSH int 1193046 + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x + /* [ bytes ] */ ; + INT + /* [ int ] */ ; + PUSH int 0 + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x0000 + /* [ bytes ] */ ; + INT + /* [ int ] */ ; + PUSH int 0 + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + PUSH int -128 + /* [ int ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0x80 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH int -129 + /* [ int ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0xff7f + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH int -33024 + /* [ int ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0xff7f00 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH int -4294967296 + /* [ int ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0xff00000000 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x80 + /* [ bytes ] */ ; + INT + /* [ int ] */ ; + PUSH int -128 + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0xff7f + /* [ bytes ] */ ; + INT + /* [ int ] */ ; + PUSH int -129 + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0xff7f00 + /* [ bytes ] */ ; + INT + /* [ int ] */ ; + PUSH int -33024 + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0xffffff7f00 + /* [ bytes ] */ ; + INT + /* [ int ] */ ; + PUSH int -33024 + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0xff00000000 + /* [ bytes ] */ ; + INT + /* [ int ] */ ; + PUSH int -4294967296 + /* [ int : int ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes_of_nat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes_of_nat.out new file mode 100644 index 000000000000..fb46a33fdaf5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-bytes_of_nat.out @@ -0,0 +1,63 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/bytes_of_nat_016.tz --details +Well typed +Gas remaining: 1039958.808 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH nat 0 + /* [ nat ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0x + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 1 + /* [ nat ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0x01 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 1193046 + /* [ nat ] */ ; + BYTES + /* [ bytes ] */ ; + PUSH bytes 0x123456 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x123456 + /* [ bytes ] */ ; + NAT + /* [ nat ] */ ; + PUSH nat 1193046 + /* [ nat : nat ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x0000123456 + /* [ bytes ] */ ; + NAT + /* [ nat ] */ ; + PUSH nat 1193046 + /* [ nat : nat ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x + /* [ bytes ] */ ; + NAT + /* [ nat ] */ ; + PUSH nat 0 + /* [ nat : nat ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x0000 + /* [ bytes ] */ ; + NAT + /* [ nat ] */ ; + PUSH nat 0 + /* [ nat : nat ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-car.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-car.out new file mode 100644 index 000000000000..221f1a0a1be8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-car.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/car.tz --details +Well typed +Gas remaining: 1039997.277 units remaining +{ parameter (pair (nat :l) (nat :r)) ; + storage nat ; + code { CAR + /* [ pair nat nat ] */ ; + CAR + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-cdr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-cdr.out new file mode 100644 index 000000000000..2e3653f2adc4 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-cdr.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/cdr.tz --details +Well typed +Gas remaining: 1039997.277 units remaining +{ parameter (pair (nat :l) (nat :r)) ; + storage nat ; + code { CAR + /* [ pair nat nat ] */ ; + CDR + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-chain_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-chain_id.out new file mode 100644 index 000000000000..8a7867035236 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-chain_id.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/chain_id.tz --details +Well typed +Gas remaining: 1039996.980 units remaining +{ parameter unit ; + storage unit ; + code { CHAIN_ID + /* [ chain_id : pair unit unit ] */ ; + DROP + /* [ pair unit unit ] */ ; + CAR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-chain_id_store.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-chain_id_store.out new file mode 100644 index 000000000000..8964c44780d5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-chain_id_store.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/chain_id_store.tz --details +Well typed +Gas remaining: 1039996.837 units remaining +{ parameter unit ; + storage (option chain_id) ; + code { DROP + /* [] */ ; + CHAIN_ID + /* [ chain_id ] */ ; + SOME + /* [ option chain_id ] */ ; + NIL operation + /* [ list operation : option chain_id ] */ ; + PAIR + /* [ pair (list operation) (option chain_id) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-check_signature.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-check_signature.out new file mode 100644 index 000000000000..97579aeac97d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-check_signature.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/check_signature.tz --details +Well typed +Gas remaining: 1039988.984 units remaining +{ parameter key ; + storage (pair signature string) ; + code { DUP + /* [ pair key signature string : pair key signature string ] */ ; + DUP + /* [ pair key signature string : pair key signature string + : pair key signature string ] */ ; + DIP { CDR + /* [ pair signature string : pair key signature string ] */ ; + DUP + /* [ pair signature string : pair signature string : pair key signature string ] */ ; + CAR + /* [ signature : pair signature string : pair key signature string ] */ ; + DIP { CDR + /* [ string : pair key signature string ] */ ; + PACK + /* [ bytes : pair key signature string ] */ } + /* [ signature : bytes : pair key signature string ] */ } + /* [ pair key signature string : signature : bytes : pair key signature string ] */ ; + CAR + /* [ key : signature : bytes : pair key signature string ] */ ; + CHECK_SIGNATURE + /* [ bool : pair key signature string ] */ ; + IF { /* [ pair key signature string ] */ } { FAIL } ; + CDR + /* [ pair signature string ] */ ; + NIL operation + /* [ list operation : pair signature string ] */ ; + PAIR + /* [ pair (list operation) signature string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-get.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-get.out new file mode 100644 index 000000000000..168ae43c7c63 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-get.out @@ -0,0 +1,51 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/comb-get.tz --details +Well typed +Gas remaining: 1039966.252 units remaining +{ parameter (pair nat nat nat unit) ; + storage unit ; + code { CAR + /* [ pair nat nat nat unit ] */ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + CAR + /* [ nat : pair nat nat nat unit ] */ ; + PUSH nat 1 + /* [ nat : nat : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + GET 1 + /* [ nat : pair nat nat nat unit ] */ ; + PUSH nat 1 + /* [ nat : nat : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + GET 3 + /* [ nat : pair nat nat nat unit ] */ ; + PUSH nat 4 + /* [ nat : nat : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + GET 5 + /* [ nat : pair nat nat nat unit ] */ ; + PUSH nat 2 + /* [ nat : nat : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair nat nat nat unit : pair nat nat nat unit ] */ ; + GET 6 + /* [ unit : pair nat nat nat unit ] */ ; + UNIT + /* [ unit : unit : pair nat nat nat unit ] */ ; + ASSERT_CMPEQ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-literals.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-literals.out new file mode 100644 index 000000000000..6dedea5ba96f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-literals.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/comb-literals.tz --details +Well typed +Gas remaining: 1039993.270 units remaining +{ parameter unit ; + storage unit ; + code { PUSH (list (pair nat nat nat nat)) + { Pair 0 3 6 9 ; Pair 1 (Pair 4 (Pair 7 10)) ; { 2 ; 5 ; 8 ; 11 } } + /* [ list (pair nat nat nat nat) : pair unit unit ] */ ; + DROP 2 + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-set-2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-set-2.out new file mode 100644 index 000000000000..2160ed9a3db1 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-set-2.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/comb-set-2.tz --details +Well typed +Gas remaining: 1039991.581 units remaining +{ parameter (pair nat nat nat unit) ; + storage (option (pair int nat string bytes)) ; + code { CAR + /* [ pair nat nat nat unit ] */ ; + PUSH int 2 + /* [ int : pair nat nat nat unit ] */ ; + UPDATE 1 + /* [ pair int nat nat unit ] */ ; + PUSH string "toto" + /* [ string : pair int nat nat unit ] */ ; + UPDATE 5 + /* [ pair int nat string unit ] */ ; + PUSH bytes 0x01 + /* [ bytes : pair int nat string unit ] */ ; + UPDATE 6 + /* [ pair int nat string bytes ] */ ; + SOME + /* [ option (pair int nat string bytes) ] */ ; + NIL operation + /* [ list operation : option (pair int nat string bytes) ] */ ; + PAIR + /* [ pair (list operation) (option (pair int nat string bytes)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-set.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-set.out new file mode 100644 index 000000000000..87e0f1a31545 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb-set.out @@ -0,0 +1,28 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/comb-set.tz --details +Well typed +Gas remaining: 1039991.623 units remaining +{ parameter unit ; + storage (pair nat nat nat unit) ; + code { CDR + /* [ pair nat nat nat unit ] */ ; + PUSH nat 2 + /* [ nat : pair nat nat nat unit ] */ ; + UPDATE 1 + /* [ pair nat nat nat unit ] */ ; + PUSH nat 12 + /* [ nat : pair nat nat nat unit ] */ ; + UPDATE 3 + /* [ pair nat nat nat unit ] */ ; + PUSH nat 8 + /* [ nat : pair nat nat nat unit ] */ ; + UPDATE 5 + /* [ pair nat nat nat unit ] */ ; + UNIT + /* [ unit : pair nat nat nat unit ] */ ; + UPDATE 6 + /* [ pair nat nat nat unit ] */ ; + NIL operation + /* [ list operation : pair nat nat nat unit ] */ ; + PAIR + /* [ pair (list operation) nat nat nat unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb.out new file mode 100644 index 000000000000..778b83b9c858 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comb.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/comb.tz --details +Well typed +Gas remaining: 1039995.014 units remaining +{ parameter unit ; + storage (pair nat nat nat) ; + code { DROP + /* [] */ ; + PUSH nat 3 + /* [ nat ] */ ; + PUSH nat 2 + /* [ nat : nat ] */ ; + PUSH nat 1 + /* [ nat : nat : nat ] */ ; + NIL operation + /* [ list operation : nat : nat : nat ] */ ; + PAIR 4 + /* [ pair (list operation) nat nat nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare.out new file mode 100644 index 000000000000..ff86e651c418 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare.out @@ -0,0 +1,217 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/compare.tz --details +Well typed +Gas remaining: 1039840.163 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH bool True + /* [ bool ] */ ; + DUP + /* [ bool : bool ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH bool False + /* [ bool ] */ ; + DUP + /* [ bool : bool ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH bool False + /* [ bool ] */ ; + PUSH bool True + /* [ bool : bool ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH bool True + /* [ bool ] */ ; + PUSH bool False + /* [ bool : bool ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LT ; + PUSH bytes 0xaabbcc + /* [ bytes ] */ ; + DUP + /* [ bytes : bytes ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH bytes 0x + /* [ bytes ] */ ; + PUSH bytes 0x + /* [ bytes : bytes ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH bytes 0x + /* [ bytes ] */ ; + PUSH bytes 0x01 + /* [ bytes : bytes ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH bytes 0x01 + /* [ bytes ] */ ; + PUSH bytes 0x02 + /* [ bytes : bytes ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH bytes 0x02 + /* [ bytes ] */ ; + PUSH bytes 0x01 + /* [ bytes : bytes ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LT ; + PUSH int 1 + /* [ int ] */ ; + DUP + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH int 10 + /* [ int ] */ ; + PUSH int 5 + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LT ; + PUSH int -4 + /* [ int ] */ ; + PUSH int 1923 + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH nat 1 + /* [ nat ] */ ; + DUP + /* [ nat : nat ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH nat 10 + /* [ nat ] */ ; + PUSH nat 5 + /* [ nat : nat ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LT ; + PUSH nat 4 + /* [ nat ] */ ; + PUSH nat 1923 + /* [ nat : nat ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH key_hash "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + /* [ key_hash ] */ ; + DUP + /* [ key_hash : key_hash ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH key_hash "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" + /* [ key_hash ] */ ; + PUSH key_hash "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + /* [ key_hash : key_hash ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LT ; + PUSH key_hash "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + /* [ key_hash ] */ ; + PUSH key_hash "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" + /* [ key_hash : key_hash ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH mutez 1 + /* [ mutez ] */ ; + DUP + /* [ mutez : mutez ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH mutez 10 + /* [ mutez ] */ ; + PUSH mutez 5 + /* [ mutez : mutez ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LT ; + PUSH mutez 4 + /* [ mutez ] */ ; + PUSH mutez 1923 + /* [ mutez : mutez ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH string "AABBCC" + /* [ string ] */ ; + DUP + /* [ string : string ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH string "" + /* [ string ] */ ; + PUSH string "" + /* [ string : string ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH string "" + /* [ string ] */ ; + PUSH string "a" + /* [ string : string ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH string "a" + /* [ string ] */ ; + PUSH string "b" + /* [ string : string ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH string "b" + /* [ string ] */ ; + PUSH string "a" + /* [ string : string ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LT ; + PUSH timestamp "2019-09-16T08:38:05Z" + /* [ timestamp ] */ ; + DUP + /* [ timestamp : timestamp ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH timestamp "2017-09-16T08:38:04Z" + /* [ timestamp ] */ ; + PUSH timestamp "2019-09-16T08:38:05Z" + /* [ timestamp : timestamp ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_GT ; + PUSH timestamp "2019-09-16T08:38:05Z" + /* [ timestamp ] */ ; + PUSH timestamp "2019-09-16T08:38:04Z" + /* [ timestamp : timestamp ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_LT ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare_big_type.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare_big_type.out new file mode 100644 index 000000000000..fa740cd81602 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare_big_type.out @@ -0,0 +1,3737 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/compare_big_type.tz --details +Well typed +Gas remaining: 1039129.907 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH nat 0 + /* [ nat ] */ ; + DUP + /* [ nat : nat ] */ ; + PAIR + /* [ pair nat nat ] */ ; + DUP + /* [ pair nat nat : pair nat nat ] */ ; + PAIR + /* [ pair (pair nat nat) nat nat ] */ ; + DUP + /* [ pair (pair nat nat) nat nat : pair (pair nat nat) nat nat ] */ ; + PAIR + /* [ pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat ] */ ; + DUP + /* [ pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat + : pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat ] */ ; + PAIR + /* [ pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + PAIR + /* [ pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + PAIR + /* [ pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + PAIR + /* [ pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + PAIR + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare_big_type2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare_big_type2.out new file mode 100644 index 000000000000..03d9efcd7f82 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-compare_big_type2.out @@ -0,0 +1,4302 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/compare_big_type2.tz --details +Well typed +Gas remaining: 1038995.158 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH nat 0 + /* [ nat ] */ ; + DUP + /* [ nat : nat ] */ ; + PAIR + /* [ pair nat nat ] */ ; + DUP + /* [ pair nat nat : pair nat nat ] */ ; + PAIR + /* [ pair (pair nat nat) nat nat ] */ ; + DUP + /* [ pair (pair nat nat) nat nat : pair (pair nat nat) nat nat ] */ ; + PAIR + /* [ pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat ] */ ; + DUP + /* [ pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat + : pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat ] */ ; + PAIR + /* [ pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + PAIR + /* [ pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + PAIR + /* [ pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + PAIR + /* [ pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + PAIR + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DUP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + COMPARE + /* [ int + : pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [ pair (pair (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat) + (pair (pair (pair nat nat) nat nat) (pair nat nat) nat nat) + (pair (pair nat nat) nat nat) + (pair nat nat) + nat + nat ] */ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comparisons.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comparisons.out new file mode 100644 index 000000000000..bf9d34647fd7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-comparisons.out @@ -0,0 +1,65 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/comparisons.tz --details +Well typed +Gas remaining: 1039977.212 units remaining +{ parameter (list int) ; + storage (list (list bool)) ; + code { CAR + /* [ list int ] */ ; + NIL (list bool) + /* [ list (list bool) : list int ] */ ; + DIP { DUP + /* [ list int : list int ] */ ; + MAP { EQ /* [ bool : list int ] */ } + /* [ list bool : list int ] */ } + /* [ list (list bool) : list bool : list int ] */ ; + SWAP + /* [ list bool : list (list bool) : list int ] */ ; + CONS + /* [ list (list bool) : list int ] */ ; + DIP { DUP + /* [ list int : list int ] */ ; + MAP { NEQ /* [ bool : list int ] */ } + /* [ list bool : list int ] */ } + /* [ list (list bool) : list bool : list int ] */ ; + SWAP + /* [ list bool : list (list bool) : list int ] */ ; + CONS + /* [ list (list bool) : list int ] */ ; + DIP { DUP + /* [ list int : list int ] */ ; + MAP { LE /* [ bool : list int ] */ } + /* [ list bool : list int ] */ } + /* [ list (list bool) : list bool : list int ] */ ; + SWAP + /* [ list bool : list (list bool) : list int ] */ ; + CONS + /* [ list (list bool) : list int ] */ ; + DIP { DUP + /* [ list int : list int ] */ ; + MAP { LT /* [ bool : list int ] */ } + /* [ list bool : list int ] */ } + /* [ list (list bool) : list bool : list int ] */ ; + SWAP + /* [ list bool : list (list bool) : list int ] */ ; + CONS + /* [ list (list bool) : list int ] */ ; + DIP { DUP + /* [ list int : list int ] */ ; + MAP { GE /* [ bool : list int ] */ } + /* [ list bool : list int ] */ } + /* [ list (list bool) : list bool : list int ] */ ; + SWAP + /* [ list bool : list (list bool) : list int ] */ ; + CONS + /* [ list (list bool) : list int ] */ ; + DIP { MAP { GT /* [ bool ] */ } /* [ list bool ] */ } + /* [ list (list bool) : list bool ] */ ; + SWAP + /* [ list bool : list (list bool) ] */ ; + CONS + /* [ list (list bool) ] */ ; + NIL operation + /* [ list operation : list (list bool) ] */ ; + PAIR + /* [ pair (list operation) (list (list bool)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_hello.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_hello.out new file mode 100644 index 000000000000..9769be66fc95 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_hello.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/concat_hello.tz --details +Well typed +Gas remaining: 1039995.899 units remaining +{ parameter (list string) ; + storage (list string) ; + code { CAR + /* [ list string ] */ ; + MAP { PUSH @hello string "Hello " /* [ string : string ] */ ; CONCAT /* [ string ] */ } + /* [ list string ] */ ; + NIL operation + /* [ list operation : list string ] */ ; + PAIR + /* [ pair (list operation) (list string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_hello_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_hello_bytes.out new file mode 100644 index 000000000000..905803282157 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_hello_bytes.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/concat_hello_bytes.tz --details +Well typed +Gas remaining: 1039995.973 units remaining +{ parameter (list bytes) ; + storage (list bytes) ; + code { CAR + /* [ list bytes ] */ ; + MAP { PUSH bytes 0xff /* [ bytes : bytes ] */ ; CONCAT /* [ bytes ] */ } + /* [ list bytes ] */ ; + NIL operation + /* [ list operation : list bytes ] */ ; + PAIR + /* [ pair (list operation) (list bytes) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_list.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_list.out new file mode 100644 index 000000000000..5f83414c883d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-concat_list.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/concat_list.tz --details +Well typed +Gas remaining: 1039992.537 units remaining +{ parameter (list string) ; + storage string ; + code { CAR + /* [ list string ] */ ; + PUSH string "" + /* [ string : list string ] */ ; + SWAP + /* [ list string : string ] */ ; + ITER { SWAP + /* [ string : string ] */ ; + DIP { NIL string + /* [ list string : string ] */ ; + SWAP + /* [ string : list string ] */ ; + CONS + /* [ list string ] */ } + /* [ string : list string ] */ ; + CONS + /* [ list string ] */ ; + CONCAT + /* [ string ] */ } + /* [ string ] */ ; + NIL operation + /* [ list operation : string ] */ ; + PAIR + /* [ pair (list operation) string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-cons.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-cons.out new file mode 100644 index 000000000000..ba18422cb20d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-cons.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/cons.tz --details +Well typed +Gas remaining: 1039997.240 units remaining +{ parameter int ; + storage (list int) ; + code { UNPAIR + /* [ int : list int ] */ ; + CONS + /* [ list int ] */ ; + NIL operation + /* [ list operation : list int ] */ ; + PAIR + /* [ pair (list operation) (list int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-contains_all.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-contains_all.out new file mode 100644 index 000000000000..3703cdd38227 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-contains_all.out @@ -0,0 +1,75 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/contains_all.tz --details +Well typed +Gas remaining: 1039974.767 units remaining +{ parameter (pair (list string) (list string)) ; + storage (option bool) ; + code { CAR + /* [ pair (list string) (list string) ] */ ; + DUP + /* [ pair (list string) (list string) : pair (list string) (list string) ] */ ; + CAR + /* [ list string : pair (list string) (list string) ] */ ; + DIP { CDR /* [ list string ] */ } + /* [ list string : list string ] */ ; + EMPTY_SET string + /* [ set string : list string : list string ] */ ; + SWAP + /* [ list string : set string : list string ] */ ; + ITER { PAIR + /* [ pair string (set string) : list string ] */ ; + DUP + /* [ pair string (set string) : pair string (set string) : list string ] */ ; + CAR + /* [ string : pair string (set string) : list string ] */ ; + DIP { CDR /* [ set string : list string ] */ } + /* [ string : set string : list string ] */ ; + PUSH bool True + /* [ bool : string : set string : list string ] */ ; + SWAP + /* [ string : bool : set string : list string ] */ ; + UPDATE + /* [ set string : list string ] */ } + /* [ set string : list string ] */ ; + PUSH bool True + /* [ bool : set string : list string ] */ ; + SWAP + /* [ set string : bool : list string ] */ ; + PAIR + /* [ pair (set string) bool : list string ] */ ; + SWAP + /* [ list string : pair (set string) bool ] */ ; + ITER { PAIR + /* [ pair string (set string) bool ] */ ; + DUP + /* [ pair string (set string) bool : pair string (set string) bool ] */ ; + DUP + /* [ pair string (set string) bool : pair string (set string) bool + : pair string (set string) bool ] */ ; + CAR + /* [ string : pair string (set string) bool : pair string (set string) bool ] */ ; + DIP { CDAR ; + DIP { CDDR } + /* [ set string : bool ] */ ; + DUP + /* [ set string : set string : bool ] */ } + /* [ string : set string : set string : bool ] */ ; + MEM + /* [ bool : set string : bool ] */ ; + DIP { SWAP /* [ bool : set string ] */ } + /* [ bool : bool : set string ] */ ; + AND + /* [ bool : set string ] */ ; + SWAP + /* [ set string : bool ] */ ; + PAIR + /* [ pair (set string) bool ] */ } + /* [ pair (set string) bool ] */ ; + CDR + /* [ bool ] */ ; + SOME + /* [ option bool ] */ ; + NIL operation + /* [ list operation : option bool ] */ ; + PAIR + /* [ pair (list operation) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-contract.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-contract.out new file mode 100644 index 000000000000..6c18b0cd2b64 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-contract.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/contract.tz --details +Well typed +Gas remaining: 1039994.190 units remaining +{ parameter address ; + storage unit ; + code { CAR + /* [ address ] */ ; + CONTRACT unit + /* [ option (contract unit) ] */ ; + ASSERT_SOME ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract.out new file mode 100644 index 000000000000..3f741f0f19c2 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/create_contract.tz --details +Well typed +Gas remaining: 1039991.584 units remaining +{ parameter unit ; + storage (option address) ; + code { /* [ pair unit unit ] */ + DROP + /* [ list operation : unit ] */ ; + UNIT + /* [ unit ] */ ; + AMOUNT + /* [ pair (list operation) unit ] */ ; + NONE key_hash + /* [ option key_hash : mutez : unit ] */ ; + CREATE_CONTRACT + { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } + /* [ operation : address ] */ ; + DIP { SOME + /* [ option address ] */ ; + NIL operation + /* [ list operation : option address ] */ } + /* [ operation : list operation : option address ] */ ; + CONS + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_rootname.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_rootname.out new file mode 100644 index 000000000000..6cbbcda4cc28 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_rootname.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/create_contract_rootname.tz --details +Well typed +Gas remaining: 1039991.584 units remaining +{ parameter unit ; + storage (option address) ; + code { /* [ pair unit unit ] */ + DROP + /* [ list operation : unit ] */ ; + UNIT + /* [ unit ] */ ; + AMOUNT + /* [ pair (list operation) unit ] */ ; + NONE key_hash + /* [ option key_hash : mutez : unit ] */ ; + CREATE_CONTRACT + { parameter (unit %root) ; + storage unit ; + code { CDR ; NIL operation ; PAIR } } + /* [ operation : address ] */ ; + DIP { SOME + /* [ option address ] */ ; + NIL operation + /* [ list operation : option address ] */ } + /* [ operation : list operation : option address ] */ ; + CONS + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_rootname_alt.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_rootname_alt.out new file mode 100644 index 000000000000..afa60fdc189c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_rootname_alt.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/create_contract_rootname_alt.tz --details +Well typed +Gas remaining: 1039991.584 units remaining +{ parameter unit ; + storage (option address) ; + code { /* [ pair unit unit ] */ + DROP + /* [ list operation : unit ] */ ; + UNIT + /* [ unit ] */ ; + AMOUNT + /* [ pair (list operation) unit ] */ ; + NONE key_hash + /* [ option key_hash : mutez : unit ] */ ; + CREATE_CONTRACT + { parameter (unit %root) ; + storage unit ; + code { CDR ; NIL operation ; PAIR } } + /* [ operation : address ] */ ; + DIP { SOME + /* [ option address ] */ ; + NIL operation + /* [ list operation : option address ] */ } + /* [ operation : list operation : option address ] */ ; + CONS + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_with_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_with_view.out new file mode 100644 index 000000000000..34d642472e4e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-create_contract_with_view.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/create_contract_with_view.tz --details +Well typed +Gas remaining: 1039990.516 units remaining +{ parameter unit ; + storage (option address) ; + code { /* [ pair unit unit ] */ + DROP + /* [ list operation : unit ] */ ; + UNIT + /* [ unit ] */ ; + AMOUNT + /* [ pair (list operation) unit ] */ ; + NONE key_hash + /* [ option key_hash : mutez : unit ] */ ; + CREATE_CONTRACT + { parameter unit /* [ nat ] */ ; + storage unit ; + code { CDR ; NIL operation ; PAIR } ; + view "const" nat nat { CAR } } + /* [ operation : address ] */ ; + DIP { SOME + /* [ option address ] */ ; + NIL operation + /* [ list operation : option address ] */ } + /* [ operation : list operation : option address ] */ ; + CONS + /* [ list operation : option address ] */ ; + PAIR + /* [ pair (list operation) (option address) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-diff_timestamps.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-diff_timestamps.out new file mode 100644 index 000000000000..bef9a20cc914 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-diff_timestamps.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/diff_timestamps.tz --details +Well typed +Gas remaining: 1039995.013 units remaining +{ parameter (pair timestamp timestamp) ; + storage int ; + code { CAR + /* [ pair timestamp timestamp ] */ ; + DUP + /* [ pair timestamp timestamp : pair timestamp timestamp ] */ ; + CAR + /* [ timestamp : pair timestamp timestamp ] */ ; + DIP { CDR /* [ timestamp ] */ } + /* [ timestamp : timestamp ] */ ; + SUB + /* [ int ] */ ; + NIL operation + /* [ list operation : int ] */ ; + PAIR + /* [ pair (list operation) int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dig_eq.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dig_eq.out new file mode 100644 index 000000000000..433066e3d04d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dig_eq.out @@ -0,0 +1,157 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/dig_eq.tz --details +Well typed +Gas remaining: 1039909.247 units remaining +{ parameter + (pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat) ; + storage unit ; + code { CAR + /* [ pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DUP + /* [ pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + UNPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAIR ; + DIG 0 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 1 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 2 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 3 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 4 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 5 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 6 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 7 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 8 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 9 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 10 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 11 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 12 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 13 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 14 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 15 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 16 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 0 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 1 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 2 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 3 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 4 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 5 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 6 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 7 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 8 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 9 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 10 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 11 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 12 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 13 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 14 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 15 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + DIG 16 + /* [ nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat : nat + : nat : nat : nat : nat + : pair nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat nat ] */ ; + PAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAIR ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dign.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dign.out new file mode 100644 index 000000000000..3b22effc1611 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dign.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/dign.tz --details +Well typed +Gas remaining: 1039992.220 units remaining +{ parameter (pair (pair (pair (pair nat nat) nat) nat) nat) ; + storage nat ; + code { CAR + /* [ pair (pair (pair (pair nat nat) nat) nat) nat ] */ ; + UNPAIR + /* [ pair (pair (pair nat nat) nat) nat : nat ] */ ; + UNPAIR + /* [ pair (pair nat nat) nat : nat : nat ] */ ; + UNPAIR + /* [ pair nat nat : nat : nat : nat ] */ ; + UNPAIR + /* [ nat : nat : nat : nat : nat ] */ ; + DIG 4 + /* [ nat : nat : nat : nat : nat ] */ ; + DIP { DROP /* [ nat : nat : nat ] */ ; DROP /* [ nat : nat ] */ ; DROP /* [ nat ] */ ; DROP /* [] */ } + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dip.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dip.out new file mode 100644 index 000000000000..33b735ae96c9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dip.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/dip.tz --details +Well typed +Gas remaining: 1039994.918 units remaining +{ parameter (pair nat nat) ; + storage (pair nat nat) ; + code { CAR + /* [ pair nat nat ] */ ; + UNPAIR + /* [ nat : nat ] */ ; + DUP + /* [ nat : nat : nat ] */ ; + DIP { ADD /* [ nat ] */ } + /* [ nat : nat ] */ ; + PAIR + /* [ pair nat nat ] */ ; + NIL operation + /* [ list operation : pair nat nat ] */ ; + PAIR + /* [ pair (list operation) nat nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dipn.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dipn.out new file mode 100644 index 000000000000..9f6c76d18df5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dipn.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/dipn.tz --details +Well typed +Gas remaining: 1039991.330 units remaining +{ parameter (pair (pair (pair (pair nat nat) nat) nat) nat) ; + storage nat ; + code { CAR + /* [ pair (pair (pair (pair nat nat) nat) nat) nat ] */ ; + UNPAIR + /* [ pair (pair (pair nat nat) nat) nat : nat ] */ ; + UNPAIR + /* [ pair (pair nat nat) nat : nat : nat ] */ ; + UNPAIR + /* [ pair nat nat : nat : nat : nat ] */ ; + UNPAIR + /* [ nat : nat : nat : nat : nat ] */ ; + DIP 5 { PUSH nat 6 /* [ nat ] */ } + /* [ nat : nat : nat : nat : nat : nat ] */ ; + DROP + /* [ nat : nat : nat : nat : nat ] */ ; + DROP + /* [ nat : nat : nat : nat ] */ ; + DROP + /* [ nat : nat : nat ] */ ; + DROP + /* [ nat : nat ] */ ; + DROP + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dropn.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dropn.out new file mode 100644 index 000000000000..f87db048c336 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dropn.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/dropn.tz --details +Well typed +Gas remaining: 1039994.587 units remaining +{ parameter (pair (pair (pair (pair nat nat) nat) nat) nat) ; + storage nat ; + code { CAR + /* [ pair (pair (pair (pair nat nat) nat) nat) nat ] */ ; + UNPAIR + /* [ pair (pair (pair nat nat) nat) nat : nat ] */ ; + UNPAIR + /* [ pair (pair nat nat) nat : nat : nat ] */ ; + UNPAIR + /* [ pair nat nat : nat : nat : nat ] */ ; + UNPAIR + /* [ nat : nat : nat : nat : nat ] */ ; + DROP 4 + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dugn.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dugn.out new file mode 100644 index 000000000000..52bb84538f33 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dugn.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/dugn.tz --details +Well typed +Gas remaining: 1039992.716 units remaining +{ parameter (pair (pair (pair (pair nat nat) nat) nat) nat) ; + storage nat ; + code { CAR + /* [ pair (pair (pair (pair nat nat) nat) nat) nat ] */ ; + UNPAIR + /* [ pair (pair (pair nat nat) nat) nat : nat ] */ ; + UNPAIR + /* [ pair (pair nat nat) nat : nat : nat ] */ ; + UNPAIR + /* [ pair nat nat : nat : nat : nat ] */ ; + UNPAIR + /* [ nat : nat : nat : nat : nat ] */ ; + DUG 4 + /* [ nat : nat : nat : nat : nat ] */ ; + DROP + /* [ nat : nat : nat : nat ] */ ; + DROP + /* [ nat : nat : nat ] */ ; + DROP + /* [ nat : nat ] */ ; + DROP + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dup-n.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dup-n.out new file mode 100644 index 000000000000..5aa622232c7f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-dup-n.out @@ -0,0 +1,51 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/dup-n.tz --details +Well typed +Gas remaining: 1039968.032 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH nat 5 + /* [ nat ] */ ; + PUSH nat 4 + /* [ nat : nat ] */ ; + PUSH nat 3 + /* [ nat : nat : nat ] */ ; + PUSH nat 2 + /* [ nat : nat : nat : nat ] */ ; + PUSH nat 1 + /* [ nat : nat : nat : nat : nat ] */ ; + DUP 1 + /* [ nat : nat : nat : nat : nat : nat ] */ ; + PUSH nat 1 + /* [ nat : nat : nat : nat : nat : nat : nat ] */ ; + ASSERT_CMPEQ ; + DUP 2 + /* [ nat : nat : nat : nat : nat : nat ] */ ; + PUSH nat 2 + /* [ nat : nat : nat : nat : nat : nat : nat ] */ ; + ASSERT_CMPEQ ; + DUP 3 + /* [ nat : nat : nat : nat : nat : nat ] */ ; + PUSH nat 3 + /* [ nat : nat : nat : nat : nat : nat : nat ] */ ; + ASSERT_CMPEQ ; + DUP 4 + /* [ nat : nat : nat : nat : nat : nat ] */ ; + PUSH nat 4 + /* [ nat : nat : nat : nat : nat : nat : nat ] */ ; + ASSERT_CMPEQ ; + DUP 5 + /* [ nat : nat : nat : nat : nat : nat ] */ ; + PUSH nat 5 + /* [ nat : nat : nat : nat : nat : nat : nat ] */ ; + ASSERT_CMPEQ ; + DROP 5 + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ediv.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ediv.out new file mode 100644 index 000000000000..9c29e14dfe00 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ediv.out @@ -0,0 +1,67 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ediv.tz --details +Well typed +Gas remaining: 1039981.718 units remaining +{ parameter (pair int int) ; + storage + (pair (option (pair int nat)) + (option (pair int nat)) + (option (pair int nat)) + (option (pair nat nat))) ; + code { CAR + /* [ pair int int ] */ ; + DUP + /* [ pair int int : pair int int ] */ ; + UNPAIR + /* [ int : int : pair int int ] */ ; + ABS + /* [ nat : int : pair int int ] */ ; + DIP { ABS /* [ nat : pair int int ] */ } + /* [ nat : nat : pair int int ] */ ; + EDIV + /* [ option (pair nat nat) : pair int int ] */ ; + SWAP + /* [ pair int int : option (pair nat nat) ] */ ; + DUP + /* [ pair int int : pair int int : option (pair nat nat) ] */ ; + UNPAIR + /* [ int : int : pair int int : option (pair nat nat) ] */ ; + ABS + /* [ nat : int : pair int int : option (pair nat nat) ] */ ; + EDIV + /* [ option (pair int nat) : pair int int : option (pair nat nat) ] */ ; + SWAP + /* [ pair int int : option (pair int nat) : option (pair nat nat) ] */ ; + DUP + /* [ pair int int : pair int int : option (pair int nat) + : option (pair nat nat) ] */ ; + UNPAIR + /* [ int : int : pair int int : option (pair int nat) : option (pair nat nat) ] */ ; + DIP { ABS + /* [ nat : pair int int : option (pair int nat) : option (pair nat nat) ] */ } + /* [ int : nat : pair int int : option (pair int nat) : option (pair nat nat) ] */ ; + EDIV + /* [ option (pair int nat) : pair int int : option (pair int nat) + : option (pair nat nat) ] */ ; + SWAP + /* [ pair int int : option (pair int nat) : option (pair int nat) + : option (pair nat nat) ] */ ; + UNPAIR + /* [ int : int : option (pair int nat) : option (pair int nat) + : option (pair nat nat) ] */ ; + EDIV + /* [ option (pair int nat) : option (pair int nat) : option (pair int nat) + : option (pair nat nat) ] */ ; + PAPAPAIR ; + NIL operation + /* [ list operation + : pair (option (pair int nat)) + (option (pair int nat)) + (option (pair int nat)) + (option (pair nat nat)) ] */ ; + PAIR + /* [ pair (list operation) + (option (pair int nat)) + (option (pair int nat)) + (option (pair int nat)) + (option (pair nat nat)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ediv_mutez.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ediv_mutez.out new file mode 100644 index 000000000000..7bf301f1a2b9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ediv_mutez.out @@ -0,0 +1,30 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ediv_mutez.tz --details +Well typed +Gas remaining: 1039990.621 units remaining +{ parameter (pair mutez (or mutez nat)) ; + storage (or (option (pair nat mutez)) (option (pair mutez mutez))) ; + code { CAR + /* [ pair mutez (or mutez nat) ] */ ; + UNPAIR + /* [ mutez : or mutez nat ] */ ; + SWAP + /* [ or mutez nat : mutez ] */ ; + IF_LEFT + { SWAP + /* [ mutez : mutez ] */ ; + EDIV + /* [ option (pair nat mutez) ] */ ; + LEFT (option (pair mutez mutez)) + /* [ or (option (pair nat mutez)) (option (pair mutez mutez)) ] */ } + { SWAP + /* [ mutez : nat ] */ ; + EDIV + /* [ option (pair mutez mutez) ] */ ; + RIGHT + (option (pair nat mutez)) + /* [ or (option (pair nat mutez)) (option (pair mutez mutez)) ] */ } ; + NIL operation + /* [ list operation : or (option (pair nat mutez)) (option (pair mutez mutez)) ] */ ; + PAIR + /* [ pair (list operation) (or (option (pair nat mutez)) (option (pair mutez mutez))) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-emit.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-emit.out new file mode 100644 index 000000000000..735b72364e5c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-emit.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/emit.tz --details +Well typed +Gas remaining: 1039991.050 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + PUSH nat 10 + /* [ nat : unit ] */ ; + LEFT string + /* [ or nat string : unit ] */ ; + EMIT %event + /* [ operation : unit ] */ ; + PUSH string "lorem ipsum" + /* [ string : operation : unit ] */ ; + RIGHT nat + /* [ or nat string : operation : unit ] */ ; + EMIT %event (or (nat %number) (string %words)) + /* [ operation : operation : unit ] */ ; + NIL operation + /* [ list operation : operation : operation : unit ] */ ; + SWAP + /* [ operation : list operation : operation : unit ] */ ; + CONS + /* [ list operation : operation : unit ] */ ; + SWAP + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-empty_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-empty_map.out new file mode 100644 index 000000000000..0e25489c84be --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-empty_map.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/empty_map.tz --details +Well typed +Gas remaining: 1039994.366 units remaining +{ storage (map string string) ; + parameter unit ; + code { DROP + /* [] */ ; + EMPTY_MAP string string + /* [ map string string ] */ ; + PUSH string "world" + /* [ string : map string string ] */ ; + SOME + /* [ option string : map string string ] */ ; + PUSH string "hello" + /* [ string : option string : map string string ] */ ; + UPDATE + /* [ map string string ] */ ; + NIL operation + /* [ list operation : map string string ] */ ; + PAIR + /* [ pair (list operation) (map string string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-exec_concat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-exec_concat.out new file mode 100644 index 000000000000..91cf06f86f6a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-exec_concat.out @@ -0,0 +1,34 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/exec_concat.tz --details +Well typed +Gas remaining: 1039992.377 units remaining +{ parameter string ; + storage string ; + code { CAR + /* [ string ] */ ; + LAMBDA + string + string + { PUSH string "_abc" + /* [ string : string ] */ ; + NIL string + /* [ list string : string : string ] */ ; + SWAP + /* [ string : list string : string ] */ ; + CONS + /* [ list string : string ] */ ; + SWAP + /* [ string : list string ] */ ; + CONS + /* [ list string ] */ ; + CONCAT + /* [ string ] */ } + /* [ lambda string string : string ] */ ; + SWAP + /* [ string : lambda string string ] */ ; + EXEC + /* [ string ] */ ; + NIL operation + /* [ list operation : string ] */ ; + PAIR + /* [ pair (list operation) string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-fact.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-fact.out new file mode 100644 index 000000000000..921cf227000a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-fact.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/fact.tz --details +Well typed +Gas remaining: 1039989.390 units remaining +{ parameter nat ; + storage nat ; + code { CAR + /* [ nat ] */ ; + LAMBDA_REC + nat + nat + { PUSH int -1 + /* [ int : nat : lambda nat nat ] */ ; + ADD + /* [ int : lambda nat nat ] */ ; + ISNAT + /* [ option nat : lambda nat nat ] */ ; + IF_NONE + { DROP /* [] */ ; PUSH nat 1 /* [ nat ] */ } + { DUP + /* [ nat : nat : lambda nat nat ] */ ; + DIP { EXEC /* [ nat ] */ } + /* [ nat : nat ] */ ; + PUSH nat 1 + /* [ nat : nat : nat ] */ ; + ADD + /* [ nat : nat ] */ ; + MUL + /* [ nat ] */ } } + /* [ lambda nat nat : nat ] */ ; + SWAP + /* [ nat : lambda nat nat ] */ ; + EXEC + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-first.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-first.out new file mode 100644 index 000000000000..4dc29c1a28f6 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-first.out @@ -0,0 +1,13 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/first.tz --details +Well typed +Gas remaining: 1039995.098 units remaining +{ parameter (list nat) ; + storage nat ; + code { CAR + /* [ list nat ] */ ; + IF_CONS { DIP { DROP /* [] */ } /* [ nat ] */ } { FAIL } ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_and_update_big_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_and_update_big_map.out new file mode 100644 index 000000000000..62ae249ed4e7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_and_update_big_map.out @@ -0,0 +1,15 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/get_and_update_big_map.tz --details +Well typed +Gas remaining: 1039994.790 units remaining +{ parameter string ; + storage (pair (option nat) (big_map string nat)) ; + code { UNPAPAIR ; + GET_AND_UPDATE + /* [ option nat : big_map string nat ] */ ; + PAIR + /* [ pair (option nat) (big_map string nat) ] */ ; + NIL operation + /* [ list operation : pair (option nat) (big_map string nat) ] */ ; + PAIR + /* [ pair (list operation) (option nat) (big_map string nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_and_update_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_and_update_map.out new file mode 100644 index 000000000000..73e30adf704c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_and_update_map.out @@ -0,0 +1,15 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/get_and_update_map.tz --details +Well typed +Gas remaining: 1039994.850 units remaining +{ parameter string ; + storage (pair (option nat) (map string nat)) ; + code { UNPAPAIR ; + GET_AND_UPDATE + /* [ option nat : map string nat ] */ ; + PAIR + /* [ pair (option nat) (map string nat) ] */ ; + NIL operation + /* [ list operation : pair (option nat) (map string nat) ] */ ; + PAIR + /* [ pair (list operation) (option nat) (map string nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_big_map_value.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_big_map_value.out new file mode 100644 index 000000000000..ffbe3326a99a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_big_map_value.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/get_big_map_value.tz --details +Well typed +Gas remaining: 1039992.079 units remaining +{ parameter string ; + storage (pair (big_map string string) (option string)) ; + code { DUP + /* [ pair string (big_map string string) (option string) + : pair string (big_map string string) (option string) ] */ ; + CAR + /* [ string : pair string (big_map string string) (option string) ] */ ; + DIP { CDAR ; DUP /* [ big_map string string : big_map string string ] */ } + /* [ string : big_map string string : big_map string string ] */ ; + GET + /* [ option string : big_map string string ] */ ; + SWAP + /* [ big_map string string : option string ] */ ; + PAIR + /* [ pair (big_map string string) (option string) ] */ ; + NIL operation + /* [ list operation : pair (big_map string string) (option string) ] */ ; + PAIR + /* [ pair (list operation) (big_map string string) (option string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_map_value.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_map_value.out new file mode 100644 index 000000000000..3234f8f2a034 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-get_map_value.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/get_map_value.tz --details +Well typed +Gas remaining: 1039992.607 units remaining +{ parameter string ; + storage (pair (option string) (map string string)) ; + code { DUP + /* [ pair string (option string) (map string string) + : pair string (option string) (map string string) ] */ ; + CAR + /* [ string : pair string (option string) (map string string) ] */ ; + DIP { CDDR ; DUP /* [ map string string : map string string ] */ } + /* [ string : map string string : map string string ] */ ; + GET + /* [ option string : map string string ] */ ; + PAIR + /* [ pair (option string) (map string string) ] */ ; + NIL operation + /* [ list operation : pair (option string) (map string string) ] */ ; + PAIR + /* [ pair (list operation) (option string) (map string string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_consistency_checker.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_consistency_checker.out new file mode 100644 index 000000000000..3ca1692a4f27 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_consistency_checker.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/hash_consistency_checker.tz --details +Well typed +Gas remaining: 1039996.569 units remaining +{ parameter (pair mutez (pair timestamp int)) ; + storage bytes ; + code { CAR + /* [ pair mutez timestamp int ] */ ; + PACK + /* [ bytes ] */ ; + BLAKE2B + /* [ bytes ] */ ; + NIL operation + /* [ list operation : bytes ] */ ; + PAIR + /* [ pair (list operation) bytes ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_key.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_key.out new file mode 100644 index 000000000000..d51fcc1f63e0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_key.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/hash_key.tz --details +Well typed +Gas remaining: 1039996.837 units remaining +{ parameter key ; + storage (option key_hash) ; + code { CAR + /* [ key ] */ ; + HASH_KEY + /* [ key_hash ] */ ; + SOME + /* [ option key_hash ] */ ; + NIL operation + /* [ list operation : option key_hash ] */ ; + PAIR + /* [ pair (list operation) (option key_hash) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_string.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_string.out new file mode 100644 index 000000000000..92fc75b000cc --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-hash_string.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/hash_string.tz --details +Well typed +Gas remaining: 1039996.980 units remaining +{ parameter string ; + storage bytes ; + code { CAR + /* [ string ] */ ; + PACK + /* [ bytes ] */ ; + BLAKE2B + /* [ bytes ] */ ; + NIL operation + /* [ list operation : bytes ] */ ; + PAIR + /* [ pair (list operation) bytes ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-if.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-if.out new file mode 100644 index 000000000000..f5ce22288e34 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-if.out @@ -0,0 +1,15 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/if.tz --details +Well typed +Gas remaining: 1039995.290 units remaining +{ parameter bool ; + storage (option bool) ; + code { CAR + /* [ bool ] */ ; + IF { PUSH bool True /* [ bool ] */ } { PUSH bool False /* [ bool ] */ } ; + SOME + /* [ option bool ] */ ; + NIL operation + /* [ list operation : option bool ] */ ; + PAIR + /* [ pair (list operation) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-if_some.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-if_some.out new file mode 100644 index 000000000000..b2c536b9171d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-if_some.out @@ -0,0 +1,13 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/if_some.tz --details +Well typed +Gas remaining: 1039996.019 units remaining +{ parameter (option string) ; + storage string ; + code { CAR + /* [ option string ] */ ; + IF_SOME { /* [ string ] */ } { PUSH string "" /* [ string ] */ } ; + NIL operation + /* [ list operation : string ] */ ; + PAIR + /* [ pair (list operation) string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-int.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-int.out new file mode 100644 index 000000000000..f95b83d048e0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-int.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/int.tz --details +Well typed +Gas remaining: 1039996.837 units remaining +{ parameter nat ; + storage (option int) ; + code { CAR + /* [ nat ] */ ; + INT + /* [ int ] */ ; + SOME + /* [ option int ] */ ; + NIL operation + /* [ list operation : option int ] */ ; + PAIR + /* [ pair (list operation) (option int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-iter_fail.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-iter_fail.out new file mode 100644 index 000000000000..5a0862ba6485 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-iter_fail.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/iter_fail.tz --details +Well typed +Gas remaining: 1039996.874 units remaining +{ parameter (set nat) ; + storage unit ; + code { UNPAIR + /* [ set nat : unit ] */ ; + ITER { FAILWITH /* [] */ } + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-keccak.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-keccak.out new file mode 100644 index 000000000000..5e33fe66fd28 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-keccak.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/keccak.tz --details +Well typed +Gas remaining: 1039996.837 units remaining +{ storage (option bytes) ; + parameter bytes ; + code { CAR + /* [ bytes ] */ ; + KECCAK + /* [ bytes ] */ ; + SOME + /* [ option bytes ] */ ; + NIL operation + /* [ list operation : option bytes ] */ ; + PAIR + /* [ pair (list operation) (option bytes) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-left_right.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-left_right.out new file mode 100644 index 000000000000..e7e637e0f451 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-left_right.out @@ -0,0 +1,15 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/left_right.tz --details +Well typed +Gas remaining: 1039995.570 units remaining +{ parameter (or bool string) ; + storage (or string bool) ; + code { CAR + /* [ or bool string ] */ ; + IF_LEFT + { RIGHT string /* [ or string bool ] */ } + { LEFT bool /* [ or string bool ] */ } ; + NIL operation + /* [ list operation : or string bool ] */ ; + PAIR + /* [ pair (list operation) (or string bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-level.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-level.out new file mode 100644 index 000000000000..f838bcd9a307 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-level.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/level.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter unit ; + storage nat ; + code { DROP + /* [] */ ; + LEVEL + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_concat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_concat.out new file mode 100644 index 000000000000..5bfe67ae45d3 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_concat.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/list_concat.tz --details +Well typed +Gas remaining: 1039996.374 units remaining +{ parameter (list string) ; + storage string ; + code { UNPAIR + /* [ list string : string ] */ ; + SWAP + /* [ string : list string ] */ ; + CONS + /* [ list string ] */ ; + CONCAT + /* [ string ] */ ; + NIL operation + /* [ list operation : string ] */ ; + PAIR + /* [ pair (list operation) string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_concat_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_concat_bytes.out new file mode 100644 index 000000000000..195d836c6f64 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_concat_bytes.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/list_concat_bytes.tz --details +Well typed +Gas remaining: 1039996.374 units remaining +{ parameter (list bytes) ; + storage bytes ; + code { UNPAIR + /* [ list bytes : bytes ] */ ; + SWAP + /* [ bytes : list bytes ] */ ; + CONS + /* [ list bytes ] */ ; + CONCAT + /* [ bytes ] */ ; + NIL operation + /* [ list operation : bytes ] */ ; + PAIR + /* [ pair (list operation) bytes ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_id.out new file mode 100644 index 000000000000..df5fe51fa88d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_id.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/list_id.tz --details +Well typed +Gas remaining: 1039997.680 units remaining +{ parameter (list string) ; + storage (list string) ; + code { CAR + /* [ list string ] */ ; + NIL operation + /* [ list operation : list string ] */ ; + PAIR + /* [ pair (list operation) (list string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_id_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_id_map.out new file mode 100644 index 000000000000..cea842a12aad --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_id_map.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/list_id_map.tz --details +Well typed +Gas remaining: 1039996.974 units remaining +{ parameter (list string) ; + storage (list string) ; + code { CAR + /* [ list string ] */ ; + MAP { /* [ string ] */ } + /* [ list string ] */ ; + NIL operation + /* [ list operation : list string ] */ ; + PAIR + /* [ pair (list operation) (list string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_iter.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_iter.out new file mode 100644 index 000000000000..e0a0dfaee866 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_iter.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/list_iter.tz --details +Well typed +Gas remaining: 1039995.593 units remaining +{ parameter (list int) ; + storage int ; + code { CAR + /* [ list int ] */ ; + PUSH int 1 + /* [ int : list int ] */ ; + SWAP + /* [ list int : int ] */ ; + ITER { MUL /* [ int ] */ } + /* [ int ] */ ; + NIL operation + /* [ list operation : int ] */ ; + PAIR + /* [ pair (list operation) int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_map_block.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_map_block.out new file mode 100644 index 000000000000..ac9eda10c20f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_map_block.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/list_map_block.tz --details +Well typed +Gas remaining: 1039991.624 units remaining +{ parameter (list int) ; + storage (list int) ; + code { CAR + /* [ list int ] */ ; + PUSH int 0 + /* [ int : list int ] */ ; + SWAP + /* [ list int : int ] */ ; + MAP { DIP { DUP /* [ int : int ] */ } + /* [ int : int : int ] */ ; + ADD + /* [ int : int ] */ ; + DIP { PUSH int 1 /* [ int : int ] */ ; ADD /* [ int ] */ } + /* [ int : int ] */ } + /* [ list int : int ] */ ; + NIL operation + /* [ list operation : list int : int ] */ ; + PAIR + /* [ pair (list operation) (list int) : int ] */ ; + DIP { DROP /* [] */ } + /* [ pair (list operation) (list int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_size.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_size.out new file mode 100644 index 000000000000..c2d39a6ade6c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-list_size.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/list_size.tz --details +Well typed +Gas remaining: 1039997.360 units remaining +{ parameter (list int) ; + storage nat ; + code { CAR + /* [ list int ] */ ; + SIZE + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_failwith.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_failwith.out new file mode 100644 index 000000000000..a75b1a7feca4 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_failwith.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/loop_failwith.tz --details +Well typed +Gas remaining: 1039996.957 units remaining +{ parameter bool ; + storage unit ; + code { UNPAIR + /* [ bool : unit ] */ ; + LOOP { FAILWITH /* [] */ } + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_left.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_left.out new file mode 100644 index 000000000000..0021592fcadc --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_left.out @@ -0,0 +1,40 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/loop_left.tz --details +Well typed +Gas remaining: 1039987.396 units remaining +{ parameter (list string) ; + storage (list string) ; + code { CAR + /* [ list string ] */ ; + NIL string + /* [ list string : list string ] */ ; + SWAP + /* [ list string : list string ] */ ; + PAIR + /* [ pair (list string) (list string) ] */ ; + LEFT (list string) + /* [ or (pair (list string) (list string)) (list string) ] */ ; + LOOP_LEFT + { DUP + /* [ pair (list string) (list string) : pair (list string) (list string) ] */ ; + CAR + /* [ list string : pair (list string) (list string) ] */ ; + DIP { CDR /* [ list string ] */ } + /* [ list string : list string ] */ ; + IF_CONS + { SWAP + /* [ list string : string : list string ] */ ; + DIP { CONS /* [ list string ] */ } + /* [ list string : list string ] */ ; + PAIR + /* [ pair (list string) (list string) ] */ ; + LEFT (list string) + /* [ or (pair (list string) (list string)) (list string) ] */ } + { RIGHT + (pair (list string) (list string)) + /* [ or (pair (list string) (list string)) (list string) ] */ } } + /* [ list string ] */ ; + NIL operation + /* [ list operation : list string ] */ ; + PAIR + /* [ pair (list operation) (list string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_left_failwith.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_left_failwith.out new file mode 100644 index 000000000000..e05fe1019136 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-loop_left_failwith.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/loop_left_failwith.tz --details +Well typed +Gas remaining: 1039996.716 units remaining +{ parameter (or string nat) ; + storage nat ; + code { CAR + /* [ or string nat ] */ ; + LOOP_LEFT { FAILWITH /* [] */ } + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-lsl_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-lsl_bytes.out new file mode 100644 index 000000000000..263e9d0b15c1 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-lsl_bytes.out @@ -0,0 +1,50 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/lsl_bytes_016.tz --details +Well typed +Gas remaining: 1039972.796 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH nat 0 + /* [ nat ] */ ; + PUSH bytes 0x06 + /* [ bytes : nat ] */ ; + LSL + /* [ bytes ] */ ; + PUSH bytes 0x06 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 1 + /* [ nat ] */ ; + PUSH bytes 0x06 + /* [ bytes : nat ] */ ; + LSL + /* [ bytes ] */ ; + PUSH bytes 0x000c + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 8 + /* [ nat ] */ ; + PUSH bytes 0x06 + /* [ bytes : nat ] */ ; + LSL + /* [ bytes ] */ ; + PUSH bytes 0x0600 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 1 + /* [ nat ] */ ; + PUSH bytes 0x0006 + /* [ bytes : nat ] */ ; + LSL + /* [ bytes ] */ ; + PUSH bytes 0x00000c + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL @noop operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-lsr_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-lsr_bytes.out new file mode 100644 index 000000000000..a761f7ea393d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-lsr_bytes.out @@ -0,0 +1,68 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/lsr_bytes_016.tz --details +Well typed +Gas remaining: 1039959.946 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH nat 1 + /* [ nat ] */ ; + PUSH bytes 0x06 + /* [ bytes : nat ] */ ; + LSR + /* [ bytes ] */ ; + PUSH bytes 0x03 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 8 + /* [ nat ] */ ; + PUSH bytes 0x06 + /* [ bytes : nat ] */ ; + LSR + /* [ bytes ] */ ; + PUSH bytes 0x + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 1 + /* [ nat ] */ ; + PUSH bytes 0x0006 + /* [ bytes : nat ] */ ; + LSR + /* [ bytes ] */ ; + PUSH bytes 0x0003 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 8 + /* [ nat ] */ ; + PUSH bytes 0x0006 + /* [ bytes : nat ] */ ; + LSR + /* [ bytes ] */ ; + PUSH bytes 0x00 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 0 + /* [ nat ] */ ; + PUSH bytes 0x001234 + /* [ bytes : nat ] */ ; + LSR + /* [ bytes ] */ ; + PUSH bytes 0x001234 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH nat 30 + /* [ nat ] */ ; + PUSH bytes 0x001234 + /* [ bytes : nat ] */ ; + LSR + /* [ bytes ] */ ; + PUSH bytes 0x + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL @noop operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_car.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_car.out new file mode 100644 index 000000000000..5988987666d2 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_car.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/map_car.tz --details +Well typed +Gas remaining: 1039991.063 units remaining +{ parameter bool ; + storage (pair (bool %b) (nat %n)) ; + code { DUP + /* [ pair bool bool nat : pair bool bool nat ] */ ; + CAR + /* [ bool : pair bool bool nat ] */ ; + DIP { CDR /* [ pair bool nat ] */ } + /* [ bool : pair bool nat ] */ ; + SWAP + /* [ pair bool nat : bool ] */ ; + MAP_CAR @new_storage %b { AND /* [ bool ] */ } ; + NIL operation + /* [ list operation : pair bool nat ] */ ; + PAIR + /* [ pair (list operation) bool nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_id.out new file mode 100644 index 000000000000..b6c6ef8d450c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_id.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/map_id.tz --details +Well typed +Gas remaining: 1039997.454 units remaining +{ parameter (map nat nat) ; + storage (map nat nat) ; + code { CAR + /* [ map nat nat ] */ ; + NIL operation + /* [ list operation : map nat nat ] */ ; + PAIR + /* [ pair (list operation) (map nat nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_iter.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_iter.out new file mode 100644 index 000000000000..272b153480c7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_iter.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/map_iter.tz --details +Well typed +Gas remaining: 1039986.949 units remaining +{ parameter (map (int :k) (int :e)) ; + storage (pair (int :k) (int :e)) ; + code { CAR + /* [ map int int ] */ ; + PUSH @acc_e (int :e) 0 + /* [ int : map int int ] */ ; + PUSH @acc_k (int :k) 0 + /* [ int : int : map int int ] */ ; + PAIR % %r + /* [ pair int int : map int int ] */ ; + SWAP + /* [ map int int : pair int int ] */ ; + ITER { DIP { DUP + /* [ pair int int : pair int int ] */ ; + CAR + /* [ int : pair int int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ int : int ] */ } + /* [ pair int int : int : int ] */ ; + DUP + /* [ pair int int : pair int int : int : int ] */ ; + DIP { CAR /* [ int : int : int ] */ ; ADD /* [ int : int ] */ } + /* [ pair int int : int : int ] */ ; + SWAP + /* [ int : pair int int : int ] */ ; + DIP { CDR /* [ int : int ] */ ; ADD /* [ int ] */ } + /* [ int : int ] */ ; + PAIR % %r + /* [ pair int int ] */ } + /* [ pair int int ] */ ; + NIL operation + /* [ list operation : pair int int ] */ ; + PAIR + /* [ pair (list operation) int int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_map.out new file mode 100644 index 000000000000..d9dada809f83 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_map.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/map_map.tz --details +Well typed +Gas remaining: 1039993.574 units remaining +{ parameter nat ; + storage (map string nat) ; + code { UNPAIR + /* [ nat : map string nat ] */ ; + SWAP + /* [ map string nat : nat ] */ ; + MAP { CDR + /* [ nat : nat ] */ ; + DIP { DUP /* [ nat : nat ] */ } + /* [ nat : nat : nat ] */ ; + ADD + /* [ nat : nat ] */ } + /* [ map string nat : nat ] */ ; + DIP { DROP /* [] */ } + /* [ map string nat ] */ ; + NIL operation + /* [ list operation : map string nat ] */ ; + PAIR + /* [ pair (list operation) (map string nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_map_sideeffect.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_map_sideeffect.out new file mode 100644 index 000000000000..5de8b97575d1 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_map_sideeffect.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/map_map_sideeffect.tz --details +Well typed +Gas remaining: 1039988.534 units remaining +{ parameter nat ; + storage (pair (map string nat) nat) ; + code { UNPAIR + /* [ nat : pair (map string nat) nat ] */ ; + SWAP + /* [ pair (map string nat) nat : nat ] */ ; + CAR + /* [ map string nat : nat ] */ ; + DIP 2 { PUSH @sum nat 0 /* [ nat ] */ } + /* [ map string nat : nat : nat ] */ ; + MAP { CDR + /* [ nat : nat : nat ] */ ; + DIP { DUP /* [ nat : nat : nat ] */ } + /* [ nat : nat : nat : nat ] */ ; + ADD + /* [ nat : nat : nat ] */ ; + DUP + /* [ nat : nat : nat : nat ] */ ; + DUG 2 + /* [ nat : nat : nat : nat ] */ ; + DIP 2 { ADD @sum /* [ nat ] */ } + /* [ nat : nat : nat ] */ } + /* [ map string nat : nat : nat ] */ ; + DIP { DROP /* [ nat ] */ } + /* [ map string nat : nat ] */ ; + PAIR + /* [ pair (map string nat) nat ] */ ; + NIL operation + /* [ list operation : pair (map string nat) nat ] */ ; + PAIR + /* [ pair (list operation) (map string nat) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_mem_nat.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_mem_nat.out new file mode 100644 index 000000000000..3c227c4df1c6 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_mem_nat.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/map_mem_nat.tz --details +Well typed +Gas remaining: 1039993.554 units remaining +{ parameter nat ; + storage (pair (map nat nat) (option bool)) ; + code { UNPAIR + /* [ nat : pair (map nat nat) (option bool) ] */ ; + DIP { CAR /* [ map nat nat ] */ ; DUP /* [ map nat nat : map nat nat ] */ } + /* [ nat : map nat nat : map nat nat ] */ ; + MEM + /* [ bool : map nat nat ] */ ; + SOME + /* [ option bool : map nat nat ] */ ; + SWAP + /* [ map nat nat : option bool ] */ ; + PAIR + /* [ pair (map nat nat) (option bool) ] */ ; + NIL operation + /* [ list operation : pair (map nat nat) (option bool) ] */ ; + PAIR + /* [ pair (list operation) (map nat nat) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_mem_string.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_mem_string.out new file mode 100644 index 000000000000..9d5bc67e504f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_mem_string.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/map_mem_string.tz --details +Well typed +Gas remaining: 1039993.554 units remaining +{ parameter string ; + storage (pair (map string nat) (option bool)) ; + code { UNPAIR + /* [ string : pair (map string nat) (option bool) ] */ ; + DIP { CAR /* [ map string nat ] */ ; DUP /* [ map string nat : map string nat ] */ } + /* [ string : map string nat : map string nat ] */ ; + MEM + /* [ bool : map string nat ] */ ; + SOME + /* [ option bool : map string nat ] */ ; + SWAP + /* [ map string nat : option bool ] */ ; + PAIR + /* [ pair (map string nat) (option bool) ] */ ; + NIL operation + /* [ list operation : pair (map string nat) (option bool) ] */ ; + PAIR + /* [ pair (list operation) (map string nat) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_size.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_size.out new file mode 100644 index 000000000000..1533d0f58839 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-map_size.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/map_size.tz --details +Well typed +Gas remaining: 1039997.277 units remaining +{ parameter (map string nat) ; + storage nat ; + code { CAR + /* [ map string nat ] */ ; + SIZE + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-merge_comparable_pairs.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-merge_comparable_pairs.out new file mode 100644 index 000000000000..9cb0775e5504 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-merge_comparable_pairs.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/merge_comparable_pairs.tz --details +Well typed +Gas remaining: 1039992.173 units remaining +{ parameter (set (pair (nat %n) (pair %p (string %s) (int %i)))) ; + storage nat ; + code { UNPAIR + /* [ set (pair nat string int) : nat ] */ ; + SWAP + /* [ nat : set (pair nat string int) ] */ ; + PUSH nat 3 + /* [ nat : nat : set (pair nat string int) ] */ ; + COMPARE + /* [ int : set (pair nat string int) ] */ ; + GT + /* [ bool : set (pair nat string int) ] */ ; + IF { /* [ set (pair nat string int) ] */ } + { DROP + /* [] */ ; + EMPTY_SET (pair nat (pair string int)) + /* [ set (pair nat string int) ] */ } ; + SIZE + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul.out new file mode 100644 index 000000000000..be65357c7216 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul.out @@ -0,0 +1,82 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/mul.tz --details +Well typed +Gas remaining: 1039961.621 units remaining +{ parameter unit ; + storage unit ; + code { CAR + /* [ unit ] */ ; + DROP + /* [] */ ; + PUSH nat 7987 + /* [ nat ] */ ; + PUSH mutez 10 + /* [ mutez : nat ] */ ; + MUL + /* [ mutez ] */ ; + PUSH mutez 79870 + /* [ mutez : mutez ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH mutez 10 + /* [ mutez ] */ ; + PUSH nat 7987 + /* [ nat : mutez ] */ ; + MUL + /* [ mutez ] */ ; + PUSH mutez 79870 + /* [ mutez : mutez ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH int 10 + /* [ int ] */ ; + PUSH int -7987 + /* [ int : int ] */ ; + MUL + /* [ int ] */ ; + PUSH int -79870 + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH nat 10 + /* [ nat ] */ ; + PUSH int -7987 + /* [ int : nat ] */ ; + MUL + /* [ int ] */ ; + PUSH int -79870 + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH int -10 + /* [ int ] */ ; + PUSH nat 7987 + /* [ nat : int ] */ ; + MUL + /* [ int ] */ ; + PUSH int -79870 + /* [ int : int ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + PUSH nat 10 + /* [ nat ] */ ; + PUSH nat 7987 + /* [ nat : nat ] */ ; + MUL + /* [ nat ] */ ; + PUSH nat 79870 + /* [ nat : nat ] */ ; + COMPARE + /* [ int ] */ ; + ASSERT_EQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_fr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_fr.out new file mode 100644 index 000000000000..ef120ac6bd07 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_fr.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/mul_bls12_381_fr.tz --details +Well typed +Gas remaining: 1039996.129 units remaining +{ parameter (pair bls12_381_fr bls12_381_fr) ; + storage (option bls12_381_fr) ; + code { CAR + /* [ pair bls12_381_fr bls12_381_fr ] */ ; + UNPAIR + /* [ bls12_381_fr : bls12_381_fr ] */ ; + MUL + /* [ bls12_381_fr ] */ ; + SOME + /* [ option bls12_381_fr ] */ ; + NIL operation + /* [ list operation : option bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_fr) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_g1.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_g1.out new file mode 100644 index 000000000000..4d4bae8c56cd --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_g1.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/mul_bls12_381_g1.tz --details +Well typed +Gas remaining: 1039996.129 units remaining +{ parameter (pair bls12_381_g1 bls12_381_fr) ; + storage (option bls12_381_g1) ; + code { CAR + /* [ pair bls12_381_g1 bls12_381_fr ] */ ; + UNPAIR + /* [ bls12_381_g1 : bls12_381_fr ] */ ; + MUL + /* [ bls12_381_g1 ] */ ; + SOME + /* [ option bls12_381_g1 ] */ ; + NIL operation + /* [ list operation : option bls12_381_g1 ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_g1) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_g2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_g2.out new file mode 100644 index 000000000000..eeb476203445 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_bls12_381_g2.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/mul_bls12_381_g2.tz --details +Well typed +Gas remaining: 1039996.129 units remaining +{ parameter (pair bls12_381_g2 bls12_381_fr) ; + storage (option bls12_381_g2) ; + code { CAR + /* [ pair bls12_381_g2 bls12_381_fr ] */ ; + UNPAIR + /* [ bls12_381_g2 : bls12_381_fr ] */ ; + MUL + /* [ bls12_381_g2 ] */ ; + SOME + /* [ option bls12_381_g2 ] */ ; + NIL operation + /* [ list operation : option bls12_381_g2 ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_g2) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_overflow.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_overflow.out new file mode 100644 index 000000000000..5cb248fac9d2 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mul_overflow.out @@ -0,0 +1,29 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/mul_overflow.tz --details +Well typed +Gas remaining: 1039992.344 units remaining +{ parameter (or unit unit) ; + storage unit ; + code { CAR + /* [ or unit unit ] */ ; + IF_LEFT + { PUSH nat 922337203685477580700 + /* [ nat : unit ] */ ; + PUSH mutez 10 + /* [ mutez : nat : unit ] */ ; + MUL + /* [ mutez : unit ] */ ; + DROP + /* [ unit ] */ } + { PUSH mutez 10 + /* [ mutez : unit ] */ ; + PUSH nat 922337203685477580700 + /* [ nat : mutez : unit ] */ ; + MUL + /* [ mutez : unit ] */ ; + DROP + /* [ unit ] */ } ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-munch.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-munch.out new file mode 100644 index 000000000000..8f29eb93a843 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-munch.out @@ -0,0 +1,13 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/munch.tz --details +Well typed +Gas remaining: 1039997.065 units remaining +{ parameter + (or (bytes %bytes) (or (lambda %lambda unit unit) (or (nat %nat) (list %list_nat nat)))) ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mutez_to_bls12_381_fr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mutez_to_bls12_381_fr.out new file mode 100644 index 000000000000..bc705e6cbbbd --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-mutez_to_bls12_381_fr.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/mutez_to_bls12_381_fr.tz --details +Well typed +Gas remaining: 1039992.323 units remaining +{ parameter mutez ; + storage bls12_381_fr ; + code { CAR + /* [ mutez ] */ ; + PUSH mutez 1 + /* [ mutez : mutez ] */ ; + SWAP + /* [ mutez : mutez ] */ ; + EDIV + /* [ option (pair nat mutez) ] */ ; + ASSERT_SOME ; + CAR + /* [ nat ] */ ; + PUSH bls12_381_fr 1 + /* [ bls12_381_fr : nat ] */ ; + MUL + /* [ bls12_381_fr ] */ ; + NIL operation + /* [ list operation : bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) bls12_381_fr ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg.out new file mode 100644 index 000000000000..e5f4a3bb17b5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg.out @@ -0,0 +1,13 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/neg.tz --details +Well typed +Gas remaining: 1039996.161 units remaining +{ parameter (or int nat) ; + storage int ; + code { CAR + /* [ or int nat ] */ ; + IF_LEFT { NEG /* [ int ] */ } { NEG /* [ int ] */ } ; + NIL operation + /* [ list operation : int ] */ ; + PAIR + /* [ pair (list operation) int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_fr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_fr.out new file mode 100644 index 000000000000..b661ef6a3ad1 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_fr.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/neg_bls12_381_fr.tz --details +Well typed +Gas remaining: 1039996.837 units remaining +{ parameter bls12_381_fr ; + storage (option bls12_381_fr) ; + code { CAR + /* [ bls12_381_fr ] */ ; + NEG + /* [ bls12_381_fr ] */ ; + SOME + /* [ option bls12_381_fr ] */ ; + NIL operation + /* [ list operation : option bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_fr) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_g1.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_g1.out new file mode 100644 index 000000000000..3246c832f2e5 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_g1.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/neg_bls12_381_g1.tz --details +Well typed +Gas remaining: 1039996.837 units remaining +{ parameter bls12_381_g1 ; + storage (option bls12_381_g1) ; + code { CAR + /* [ bls12_381_g1 ] */ ; + NEG + /* [ bls12_381_g1 ] */ ; + SOME + /* [ option bls12_381_g1 ] */ ; + NIL operation + /* [ list operation : option bls12_381_g1 ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_g1) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_g2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_g2.out new file mode 100644 index 000000000000..a8270af8ccf9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-neg_bls12_381_g2.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/neg_bls12_381_g2.tz --details +Well typed +Gas remaining: 1039996.837 units remaining +{ parameter bls12_381_g2 ; + storage (option bls12_381_g2) ; + code { CAR + /* [ bls12_381_g2 ] */ ; + NEG + /* [ bls12_381_g2 ] */ ; + SOME + /* [ option bls12_381_g2 ] */ ; + NIL operation + /* [ list operation : option bls12_381_g2 ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_g2) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-none.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-none.out new file mode 100644 index 000000000000..b76d653cbc40 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-none.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/none.tz --details +Well typed +Gas remaining: 1039997.217 units remaining +{ parameter unit ; + storage (option nat) ; + code { DROP + /* [] */ ; + NONE nat + /* [ option nat ] */ ; + NIL operation + /* [ list operation : option nat ] */ ; + PAIR + /* [ pair (list operation) (option nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-noop.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-noop.out new file mode 100644 index 000000000000..ad736ed98f61 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-noop.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/noop.tz --details +Well typed +Gas remaining: 1039997.907 units remaining +{ parameter unit ; + storage unit ; + code { CDR + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not.out new file mode 100644 index 000000000000..c6e96fec6a07 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/not.tz --details +Well typed +Gas remaining: 1039996.837 units remaining +{ parameter bool ; + storage (option bool) ; + code { CAR + /* [ bool ] */ ; + NOT + /* [ bool ] */ ; + SOME + /* [ option bool ] */ ; + NIL operation + /* [ list operation : option bool ] */ ; + PAIR + /* [ pair (list operation) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not_binary.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not_binary.out new file mode 100644 index 000000000000..8a72ba29b3d6 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not_binary.out @@ -0,0 +1,15 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/not_binary.tz --details +Well typed +Gas remaining: 1039995.545 units remaining +{ parameter (or int nat) ; + storage (option int) ; + code { CAR + /* [ or int nat ] */ ; + IF_LEFT { NOT /* [ int ] */ } { NOT /* [ int ] */ } ; + SOME + /* [ option int ] */ ; + NIL operation + /* [ list operation : option int ] */ ; + PAIR + /* [ pair (list operation) (option int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not_bytes.out new file mode 100644 index 000000000000..83b0ac199c5b --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-not_bytes.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/not_bytes_016.tz --details +Well typed +Gas remaining: 1039981.341 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH bytes 0x05 + /* [ bytes ] */ ; + NOT + /* [ bytes ] */ ; + PUSH bytes 0xfa + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x0005 + /* [ bytes ] */ ; + NOT + /* [ bytes ] */ ; + PUSH bytes 0xfffa + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0xff05 + /* [ bytes ] */ ; + NOT + /* [ bytes ] */ ; + PUSH bytes 0x00fa + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL @noop operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or.out new file mode 100644 index 000000000000..acd455b3f596 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/or.tz --details +Well typed +Gas remaining: 1039994.425 units remaining +{ parameter (pair bool bool) ; + storage (option bool) ; + code { CAR + /* [ pair bool bool ] */ ; + DUP + /* [ pair bool bool : pair bool bool ] */ ; + CAR + /* [ bool : pair bool bool ] */ ; + SWAP + /* [ pair bool bool : bool ] */ ; + CDR + /* [ bool : bool ] */ ; + OR + /* [ bool ] */ ; + SOME + /* [ option bool ] */ ; + NIL operation + /* [ list operation : option bool ] */ ; + PAIR + /* [ pair (list operation) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or_binary.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or_binary.out new file mode 100644 index 000000000000..fe79421e98b3 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or_binary.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/or_binary.tz --details +Well typed +Gas remaining: 1039996.129 units remaining +{ parameter (pair nat nat) ; + storage (option nat) ; + code { CAR + /* [ pair nat nat ] */ ; + UNPAIR + /* [ nat : nat ] */ ; + OR + /* [ nat ] */ ; + SOME + /* [ option nat ] */ ; + NIL operation + /* [ list operation : option nat ] */ ; + PAIR + /* [ pair (list operation) (option nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or_bytes.out new file mode 100644 index 000000000000..0629f6808750 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-or_bytes.out @@ -0,0 +1,41 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/or_bytes_016.tz --details +Well typed +Gas remaining: 1039978.916 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH bytes 0x05 + /* [ bytes ] */ ; + PUSH bytes 0x06 + /* [ bytes : bytes ] */ ; + OR + /* [ bytes ] */ ; + PUSH bytes 0x07 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x0005 + /* [ bytes ] */ ; + PUSH bytes 0x0106 + /* [ bytes : bytes ] */ ; + OR + /* [ bytes ] */ ; + PUSH bytes 0x0107 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x05 + /* [ bytes ] */ ; + PUSH bytes 0x0106 + /* [ bytes : bytes ] */ ; + OR + /* [ bytes ] */ ; + PUSH bytes 0x0107 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL @noop operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-originate_big_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-originate_big_map.out new file mode 100644 index 000000000000..00e67bb1b307 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-originate_big_map.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/originate_big_map.tz --details +Well typed +Gas remaining: 1039997.334 units remaining +{ parameter (big_map int int) ; + storage (big_map int int) ; + code { CAR + /* [ big_map int int ] */ ; + NIL operation + /* [ list operation : big_map int int ] */ ; + PAIR + /* [ pair (list operation) (big_map int int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack.out new file mode 100644 index 000000000000..463fbd1fa475 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack.out @@ -0,0 +1,27 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/packunpack.tz --details +Well typed +Gas remaining: 1039987.310 units remaining +{ parameter (pair (pair (pair string (list int)) (set nat)) bytes) ; + storage unit ; + code { CAR + /* [ pair (pair (pair string (list int)) (set nat)) bytes ] */ ; + UNPAIR + /* [ pair (pair string (list int)) (set nat) : bytes ] */ ; + DIP { DUP /* [ bytes : bytes ] */ } + /* [ pair (pair string (list int)) (set nat) : bytes : bytes ] */ ; + PACK + /* [ bytes : bytes : bytes ] */ ; + ASSERT_CMPEQ ; + UNPACK + (pair (pair string (list int)) (set nat)) + /* [ option (pair (pair string (list int)) (set nat)) ] */ ; + ASSERT_SOME ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack_rev.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack_rev.out new file mode 100644 index 000000000000..8beaddcb08a1 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack_rev.out @@ -0,0 +1,162 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/packunpack_rev.tz --details +Well typed +Gas remaining: 1039888.774 units remaining +{ parameter (pair int nat string bytes mutez bool key_hash timestamp address) ; + storage unit ; + code { CAR + /* [ pair int nat string bytes mutez bool key_hash timestamp address ] */ ; + DUP + /* [ pair int nat string bytes mutez bool key_hash timestamp address + : pair int nat string bytes mutez bool key_hash timestamp address ] */ ; + CAR + /* [ int : pair int nat string bytes mutez bool key_hash timestamp address ] */ ; + DIP { UNPAIR + /* [ int : pair nat string bytes mutez bool key_hash timestamp address ] */ } + /* [ int : int : pair nat string bytes mutez bool key_hash timestamp address ] */ ; + PACK + /* [ bytes : int : pair nat string bytes mutez bool key_hash timestamp address ] */ ; + UNPACK + int + /* [ option int : int + : pair nat string bytes mutez bool key_hash timestamp address ] */ ; + ASSERT_SOME ; + ASSERT_CMPEQ ; + DUP + /* [ pair nat string bytes mutez bool key_hash timestamp address + : pair nat string bytes mutez bool key_hash timestamp address ] */ ; + CAR + /* [ nat : pair nat string bytes mutez bool key_hash timestamp address ] */ ; + DIP { UNPAIR /* [ nat : pair string bytes mutez bool key_hash timestamp address ] */ } + /* [ nat : nat : pair string bytes mutez bool key_hash timestamp address ] */ ; + PACK + /* [ bytes : nat : pair string bytes mutez bool key_hash timestamp address ] */ ; + UNPACK + nat + /* [ option nat : nat + : pair string bytes mutez bool key_hash timestamp address ] */ ; + ASSERT_SOME ; + ASSERT_CMPEQ ; + DUP + /* [ pair string bytes mutez bool key_hash timestamp address + : pair string bytes mutez bool key_hash timestamp address ] */ ; + CAR + /* [ string : pair string bytes mutez bool key_hash timestamp address ] */ ; + DIP { UNPAIR /* [ string : pair bytes mutez bool key_hash timestamp address ] */ } + /* [ string : string : pair bytes mutez bool key_hash timestamp address ] */ ; + PACK + /* [ bytes : string : pair bytes mutez bool key_hash timestamp address ] */ ; + UNPACK + string + /* [ option string : string : pair bytes mutez bool key_hash timestamp address ] */ ; + ASSERT_SOME ; + ASSERT_CMPEQ ; + DUP + /* [ pair bytes mutez bool key_hash timestamp address + : pair bytes mutez bool key_hash timestamp address ] */ ; + CAR + /* [ bytes : pair bytes mutez bool key_hash timestamp address ] */ ; + DIP { UNPAIR /* [ bytes : pair mutez bool key_hash timestamp address ] */ } + /* [ bytes : bytes : pair mutez bool key_hash timestamp address ] */ ; + PACK + /* [ bytes : bytes : pair mutez bool key_hash timestamp address ] */ ; + UNPACK + bytes + /* [ option bytes : bytes : pair mutez bool key_hash timestamp address ] */ ; + ASSERT_SOME ; + ASSERT_CMPEQ ; + DUP + /* [ pair mutez bool key_hash timestamp address + : pair mutez bool key_hash timestamp address ] */ ; + CAR + /* [ mutez : pair mutez bool key_hash timestamp address ] */ ; + DIP { UNPAIR /* [ mutez : pair bool key_hash timestamp address ] */ } + /* [ mutez : mutez : pair bool key_hash timestamp address ] */ ; + PACK + /* [ bytes : mutez : pair bool key_hash timestamp address ] */ ; + UNPACK mutez + /* [ option mutez : mutez : pair bool key_hash timestamp address ] */ ; + ASSERT_SOME ; + ASSERT_CMPEQ ; + DUP + /* [ pair bool key_hash timestamp address + : pair bool key_hash timestamp address ] */ ; + CAR + /* [ bool : pair bool key_hash timestamp address ] */ ; + DIP { UNPAIR /* [ bool : pair key_hash timestamp address ] */ } + /* [ bool : bool : pair key_hash timestamp address ] */ ; + PACK + /* [ bytes : bool : pair key_hash timestamp address ] */ ; + UNPACK bool + /* [ option bool : bool : pair key_hash timestamp address ] */ ; + ASSERT_SOME ; + ASSERT_CMPEQ ; + DUP + /* [ pair key_hash timestamp address : pair key_hash timestamp address ] */ ; + CAR + /* [ key_hash : pair key_hash timestamp address ] */ ; + DIP { UNPAIR /* [ key_hash : pair timestamp address ] */ } + /* [ key_hash : key_hash : pair timestamp address ] */ ; + PACK + /* [ bytes : key_hash : pair timestamp address ] */ ; + UNPACK key_hash + /* [ option key_hash : key_hash : pair timestamp address ] */ ; + ASSERT_SOME ; + ASSERT_CMPEQ ; + DUP + /* [ pair timestamp address : pair timestamp address ] */ ; + CAR + /* [ timestamp : pair timestamp address ] */ ; + DIP { UNPAIR /* [ timestamp : address ] */ } + /* [ timestamp : timestamp : address ] */ ; + PACK + /* [ bytes : timestamp : address ] */ ; + UNPACK timestamp + /* [ option timestamp : timestamp : address ] */ ; + ASSERT_SOME ; + ASSERT_CMPEQ ; + DUP + /* [ address : address ] */ ; + PACK + /* [ bytes : address ] */ ; + UNPACK address + /* [ option address : address ] */ ; + ASSERT_SOME ; + ASSERT_CMPEQ ; + PUSH int 0 + /* [ int ] */ ; + PACK + /* [ bytes ] */ ; + UNPACK nat + /* [ option nat ] */ ; + ASSERT_SOME ; + DROP + /* [] */ ; + PUSH int -1 + /* [ int ] */ ; + PACK + /* [ bytes ] */ ; + UNPACK nat + /* [ option nat ] */ ; + ASSERT_NONE ; + PUSH bytes 0x + /* [ bytes ] */ ; + UNPACK nat + /* [ option nat ] */ ; + ASSERT_NONE ; + PUSH bytes 0x04 + /* [ bytes ] */ ; + UNPACK nat + /* [ option nat ] */ ; + ASSERT_NONE ; + PUSH bytes 0x05 + /* [ bytes ] */ ; + UNPACK nat + /* [ option nat ] */ ; + ASSERT_NONE ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack_rev_cty.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack_rev_cty.out new file mode 100644 index 000000000000..7b30e3abe53a --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-packunpack_rev_cty.out @@ -0,0 +1,611 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/packunpack_rev_cty.tz --details +Well typed +Gas remaining: 1039875.178 units remaining +{ parameter + (pair key + unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes)) ; + storage unit ; + code { CAR + /* [ pair key + unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DUP + /* [ pair key + unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) + : pair key + unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + CAR + /* [ key + : pair key + unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { UNPAIR + /* [ key + : pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ key : key + : pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + PACK + /* [ bytes : key + : pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { PACK + /* [ bytes + : pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + UNPACK + key + /* [ option key + : pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes + : pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ bytes : bytes + : pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) + : pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + CAR + /* [ unit + : pair unit + signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { UNPAIR + /* [ unit + : pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ unit : unit + : pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + PACK + /* [ bytes : unit + : pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { PACK + /* [ bytes + : pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + UNPACK + unit + /* [ option unit + : pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes + : pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ bytes : bytes + : pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) + : pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + CAR + /* [ signature + : pair signature + (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { UNPAIR + /* [ signature + : pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ signature : signature + : pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + PACK + /* [ bytes : signature + : pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { PACK + /* [ bytes + : pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + UNPACK + signature + /* [ option signature + : pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes + : pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ bytes : bytes + : pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) + : pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + CAR + /* [ option signature + : pair (option signature) + (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { UNPAIR + /* [ option signature + : pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ option signature : option signature + : pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + PACK + /* [ bytes : option signature + : pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { PACK + /* [ bytes + : pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + UNPACK + (option signature) + /* [ option (option signature) + : pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes + : pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ bytes : bytes + : pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) + : pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + CAR + /* [ list unit + : pair (list unit) + (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { UNPAIR + /* [ list unit + : pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ list unit : list unit + : pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + PACK + /* [ bytes : list unit + : pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { PACK + /* [ bytes + : pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + UNPACK + (list unit) + /* [ option (list unit) + : pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes + : pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ } + /* [ bytes : bytes + : pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) + : pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + CAR + /* [ set bool + : pair (set bool) + (pair int int) + (or key_hash timestamp) + (map int string) + (lambda string bytes) ] */ ; + DIP { UNPAIR + /* [ set bool + : pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) ] */ } + /* [ set bool : set bool + : pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + PACK + /* [ bytes : set bool + : pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + DIP { PACK + /* [ bytes + : pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + UNPACK + (set bool) + /* [ option (set bool) + : pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes + : pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) ] */ } + /* [ bytes : bytes + : pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) + : pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + CAR + /* [ pair int int + : pair (pair int int) (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + DIP { UNPAIR + /* [ pair int int + : pair (or key_hash timestamp) (map int string) (lambda string bytes) ] */ } + /* [ pair int int : pair int int + : pair (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + PACK + /* [ bytes : pair int int + : pair (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + DIP { PACK + /* [ bytes + : pair (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + UNPACK + (pair int int) + /* [ option (pair int int) + : pair (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes + : pair (or key_hash timestamp) (map int string) (lambda string bytes) ] */ } + /* [ bytes : bytes + : pair (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair (or key_hash timestamp) (map int string) (lambda string bytes) + : pair (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + CAR + /* [ or key_hash timestamp + : pair (or key_hash timestamp) (map int string) (lambda string bytes) ] */ ; + DIP { UNPAIR + /* [ or key_hash timestamp : pair (map int string) (lambda string bytes) ] */ } + /* [ or key_hash timestamp : or key_hash timestamp + : pair (map int string) (lambda string bytes) ] */ ; + PACK + /* [ bytes : or key_hash timestamp + : pair (map int string) (lambda string bytes) ] */ ; + DIP { PACK + /* [ bytes : pair (map int string) (lambda string bytes) ] */ ; + UNPACK + (or key_hash timestamp) + /* [ option (or key_hash timestamp) + : pair (map int string) (lambda string bytes) ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes : pair (map int string) (lambda string bytes) ] */ } + /* [ bytes : bytes : pair (map int string) (lambda string bytes) ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ pair (map int string) (lambda string bytes) + : pair (map int string) (lambda string bytes) ] */ ; + CAR + /* [ map int string : pair (map int string) (lambda string bytes) ] */ ; + DIP { UNPAIR /* [ map int string : lambda string bytes ] */ } + /* [ map int string : map int string : lambda string bytes ] */ ; + PACK + /* [ bytes : map int string : lambda string bytes ] */ ; + DIP { PACK + /* [ bytes : lambda string bytes ] */ ; + UNPACK (map int string) + /* [ option (map int string) : lambda string bytes ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes : lambda string bytes ] */ } + /* [ bytes : bytes : lambda string bytes ] */ ; + ASSERT_CMPEQ ; + DUP + /* [ lambda string bytes : lambda string bytes ] */ ; + PACK + /* [ bytes : lambda string bytes ] */ ; + DIP { PACK + /* [ bytes ] */ ; + UNPACK (lambda string bytes) + /* [ option (lambda string bytes) ] */ ; + ASSERT_SOME ; + PACK + /* [ bytes ] */ } + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pair_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pair_id.out new file mode 100644 index 000000000000..c8793da8b7d1 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pair_id.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/pair_id.tz --details +Well typed +Gas remaining: 1039996.769 units remaining +{ parameter (pair bool bool) ; + storage (option (pair bool bool)) ; + code { CAR + /* [ pair bool bool ] */ ; + SOME + /* [ option (pair bool bool) ] */ ; + NIL operation + /* [ list operation : option (pair bool bool) ] */ ; + PAIR + /* [ pair (list operation) (option (pair bool bool)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pairing_check.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pairing_check.out new file mode 100644 index 000000000000..1c02b1741c1d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pairing_check.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/pairing_check.tz --details +Well typed +Gas remaining: 1039996.509 units remaining +{ parameter (list (pair bls12_381_g1 bls12_381_g2)) ; + storage (option bool) ; + code { CAR + /* [ list (pair bls12_381_g1 bls12_381_g2) ] */ ; + PAIRING_CHECK + /* [ bool ] */ ; + SOME + /* [ option bool ] */ ; + NIL operation + /* [ list operation : option bool ] */ ; + PAIR + /* [ pair (list operation) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pexec.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pexec.out new file mode 100644 index 000000000000..b1eba4d93938 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pexec.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/pexec.tz --details +Well typed +Gas remaining: 1039993.994 units remaining +{ parameter nat ; + storage nat ; + code { LAMBDA + (pair nat nat) + nat + { UNPAIR /* [ nat : nat ] */ ; ADD /* [ nat ] */ } + /* [ lambda (pair nat nat) nat : pair nat nat ] */ ; + SWAP + /* [ pair nat nat : lambda (pair nat nat) nat ] */ ; + UNPAIR + /* [ nat : nat : lambda (pair nat nat) nat ] */ ; + DIP { APPLY /* [ lambda nat nat ] */ } + /* [ nat : lambda nat nat ] */ ; + EXEC + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pexec_2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pexec_2.out new file mode 100644 index 000000000000..53c1a625d3e4 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-pexec_2.out @@ -0,0 +1,41 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/pexec_2.tz --details +Well typed +Gas remaining: 1039988.161 units remaining +{ parameter int ; + storage (list int) ; + code { UNPAIR @p @s + /* [ int : list int ] */ ; + LAMBDA + (pair int (pair int int)) + int + { UNPAIR + /* [ int : pair int int ] */ ; + DIP { UNPAIR /* [ int : int ] */ } + /* [ int : int : int ] */ ; + ADD + /* [ int : int ] */ ; + MUL + /* [ int ] */ } + /* [ lambda (pair int int int) int : int : list int ] */ ; + SWAP + /* [ int : lambda (pair int int int) int : list int ] */ ; + APPLY + /* [ lambda (pair int int) int : list int ] */ ; + PUSH int 3 + /* [ int : lambda (pair int int) int : list int ] */ ; + APPLY + /* [ lambda int int : list int ] */ ; + SWAP + /* [ list int : lambda int int ] */ ; + MAP { DIP { DUP /* [ lambda int int : lambda int int ] */ } + /* [ int : lambda int int : lambda int int ] */ ; + EXEC + /* [ int : lambda int int ] */ } + /* [ list int : lambda int int ] */ ; + DIP { DROP /* [] */ } + /* [ list int ] */ ; + NIL operation + /* [ list operation : list int ] */ ; + PAIR + /* [ pair (list operation) (list int) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-proxy.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-proxy.out new file mode 100644 index 000000000000..19b367db26c8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-proxy.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/proxy.tz --details +Well typed +Gas remaining: 1039995.281 units remaining +{ parameter (contract unit) ; + storage unit ; + code { UNPAIR + /* [ contract unit : unit ] */ ; + AMOUNT + /* [ mutez : contract unit : unit ] */ ; + UNIT + /* [ unit : mutez : contract unit : unit ] */ ; + TRANSFER_TOKENS + /* [ operation : unit ] */ ; + DIP { NIL operation /* [ list operation : unit ] */ } + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ret_int.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ret_int.out new file mode 100644 index 000000000000..8c23550f3f07 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ret_int.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ret_int.tz --details +Well typed +Gas remaining: 1039996.556 units remaining +{ parameter unit ; + storage (option nat) ; + code { DROP + /* [] */ ; + PUSH nat 300 + /* [ nat ] */ ; + SOME + /* [ option nat ] */ ; + NIL operation + /* [ list operation : option nat ] */ ; + PAIR + /* [ pair (list operation) (option nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-reverse.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-reverse.out new file mode 100644 index 000000000000..8a06cd8e3791 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-reverse.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/reverse.tz --details +Well typed +Gas remaining: 1039995.453 units remaining +{ parameter (list string) ; + storage (list string) ; + code { CAR + /* [ list string ] */ ; + NIL string + /* [ list string : list string ] */ ; + SWAP + /* [ list string : list string ] */ ; + ITER { CONS /* [ list string ] */ } + /* [ list string ] */ ; + NIL operation + /* [ list operation : list string ] */ ; + PAIR + /* [ pair (list operation) (list string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-reverse_loop.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-reverse_loop.out new file mode 100644 index 000000000000..2fd3fb7a45e2 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-reverse_loop.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/reverse_loop.tz --details +Well typed +Gas remaining: 1039990.243 units remaining +{ parameter (list string) ; + storage (list string) ; + code { CAR + /* [ list string ] */ ; + NIL string + /* [ list string : list string ] */ ; + SWAP + /* [ list string : list string ] */ ; + PUSH bool True + /* [ bool : list string : list string ] */ ; + LOOP { IF_CONS + { SWAP + /* [ list string : string : list string ] */ ; + DIP { CONS /* [ list string ] */ } + /* [ list string : list string ] */ ; + PUSH bool True + /* [ bool : list string : list string ] */ } + { NIL string + /* [ list string : list string ] */ ; + PUSH bool False + /* [ bool : list string : list string ] */ } } + /* [ list string : list string ] */ ; + DROP + /* [ list string ] */ ; + NIL operation + /* [ list operation : list string ] */ ; + PAIR + /* [ pair (list operation) (list string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sapling_empty_state.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sapling_empty_state.out new file mode 100644 index 000000000000..b5d3fe9b33ee --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sapling_empty_state.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/sapling_empty_state.tz --details +Well typed +Gas remaining: 1039997.397 units remaining +{ parameter unit ; + storage (sapling_state 8) ; + code { DROP + /* [] */ ; + SAPLING_EMPTY_STATE 8 + /* [ sapling_state 8 ] */ ; + NIL operation + /* [ list operation : sapling_state 8 ] */ ; + PAIR + /* [ pair (list operation) (sapling_state 8) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self.out new file mode 100644 index 000000000000..0557d9b7b843 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self.tz --details +Well typed +Gas remaining: 1039996.945 units remaining +{ parameter unit ; + storage address ; + code { DROP + /* [] */ ; + SELF + /* [ contract unit ] */ ; + ADDRESS + /* [ address ] */ ; + NIL operation + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address.out new file mode 100644 index 000000000000..56a3e416ccbb --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address.out @@ -0,0 +1,28 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self_address.tz --details +Well typed +Gas remaining: 1039990.189 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + LAMBDA + unit + address + { DROP /* [] */ ; SELF_ADDRESS /* [ address ] */ } + /* [ lambda unit address ] */ ; + UNIT + /* [ unit : lambda unit address ] */ ; + EXEC + /* [ address ] */ ; + SELF + /* [ contract unit : address ] */ ; + ADDRESS + /* [ address : address ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_fib_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_fib_view.out new file mode 100644 index 000000000000..c7fb95e4687c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_fib_view.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self_address_after_fib_view.tz --details +Well typed +Gas remaining: 1039986.567 units remaining +{ parameter address ; + storage address ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 3 + /* [ nat : address : address ] */ ; + VIEW "fib" nat + /* [ option nat : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 1500 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + SELF_ADDRESS + /* [ address : operation ] */ ; + SWAP + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_nonexistent_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_nonexistent_view.out new file mode 100644 index 000000000000..e152fb368e23 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_nonexistent_view.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self_address_after_nonexistent_view.tz --details +Well typed +Gas remaining: 1039987.050 units remaining +{ parameter address ; + storage address ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "id" string + /* [ option string : address ] */ ; + ASSERT_NONE ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 1500 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + SELF_ADDRESS + /* [ address : operation ] */ ; + SWAP + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_view.out new file mode 100644 index 000000000000..d5fe518646cd --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_address_after_view.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self_address_after_view.tz --details +Well typed +Gas remaining: 1039986.392 units remaining +{ parameter address ; + storage address ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "id" (pair nat nat) + /* [ option (pair nat nat) : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 1500 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + SELF_ADDRESS + /* [ address : operation ] */ ; + SWAP + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_fib_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_fib_view.out new file mode 100644 index 000000000000..b54b63e28158 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_fib_view.out @@ -0,0 +1,40 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self_after_fib_view.tz --details +Well typed +Gas remaining: 1039986.060 units remaining +{ parameter address ; + storage address ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 3 + /* [ nat : address : address ] */ ; + VIEW "fib" nat + /* [ option nat : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 1500 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + SELF + /* [ contract address : operation ] */ ; + ADDRESS + /* [ address : operation ] */ ; + SWAP + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_nonexistent_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_nonexistent_view.out new file mode 100644 index 000000000000..e221e8fd7cc2 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_nonexistent_view.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self_after_nonexistent_view.tz --details +Well typed +Gas remaining: 1039986.452 units remaining +{ parameter address ; + storage address ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "nonexistent" string + /* [ option string : address ] */ ; + ASSERT_NONE ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 1500 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + SELF + /* [ contract address : operation ] */ ; + ADDRESS + /* [ address : operation ] */ ; + SWAP + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_view.out new file mode 100644 index 000000000000..d6ca234e6973 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_after_view.out @@ -0,0 +1,40 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self_after_view.tz --details +Well typed +Gas remaining: 1039985.886 units remaining +{ parameter address ; + storage address ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "id" (pair nat nat) + /* [ option (pair nat nat) : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 1500 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + SELF + /* [ contract address : operation ] */ ; + ADDRESS + /* [ address : operation ] */ ; + SWAP + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_with_default_entrypoint.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_with_default_entrypoint.out new file mode 100644 index 000000000000..4a720758b862 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_with_default_entrypoint.out @@ -0,0 +1,31 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self_with_default_entrypoint.tz --details +Well typed +Gas remaining: 1039988.800 units remaining +{ parameter (or (or (nat %A) (bool %B)) (or %maybe_C (unit %default) (string %C))) ; + storage unit ; + code { DROP + /* [] */ ; + SELF + /* [ contract unit ] */ ; + DROP + /* [] */ ; + SELF %A + /* [ contract nat ] */ ; + DROP + /* [] */ ; + SELF %default + /* [ contract unit ] */ ; + PACK + /* [ bytes ] */ ; + SELF + /* [ contract unit : bytes ] */ ; + PACK + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_with_entrypoint.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_with_entrypoint.out new file mode 100644 index 000000000000..ed042fcd5859 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-self_with_entrypoint.out @@ -0,0 +1,68 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/self_with_entrypoint.tz --details +Well typed +Gas remaining: 1039970.861 units remaining +{ parameter (or (or (nat %A) (bool %B)) (or %maybe_C (unit %Z) (string %C))) ; + storage unit ; + code { DROP + /* [] */ ; + SELF %A + /* [ contract nat ] */ ; + PACK @Apacked + /* [ bytes ] */ ; + SELF %default + /* [ contract (or (or nat bool) (or unit string)) : bytes ] */ ; + PACK @defpacked + /* [ bytes : bytes ] */ ; + DUP + /* [ bytes : bytes : bytes ] */ ; + DIP { SWAP /* [ bytes : bytes ] */ } + /* [ bytes : bytes : bytes ] */ ; + ASSERT_CMPNEQ ; + SELF + /* [ contract (or (or nat bool) (or unit string)) : bytes ] */ ; + PACK @selfpacked + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + SELF %A + /* [ contract nat ] */ ; + CAST (contract nat) + /* [ contract nat ] */ ; + DROP + /* [] */ ; + SELF %B + /* [ contract bool ] */ ; + CAST (contract bool) + /* [ contract bool ] */ ; + DROP + /* [] */ ; + SELF %maybe_C + /* [ contract (or unit string) ] */ ; + CAST (contract (or unit string)) + /* [ contract (or unit string) ] */ ; + DROP + /* [] */ ; + SELF %Z + /* [ contract unit ] */ ; + CAST (contract unit) + /* [ contract unit ] */ ; + DROP + /* [] */ ; + SELF + /* [ contract (or (or nat bool) (or unit string)) ] */ ; + CAST (contract (or (or (nat %A) (bool %B)) (or %maybe_C (unit %Z) (string %C)))) + /* [ contract (or (or nat bool) (or unit string)) ] */ ; + DROP + /* [] */ ; + SELF %default + /* [ contract (or (or nat bool) (or unit string)) ] */ ; + CAST (contract (or (or (nat %A) (bool %B)) (or %maybe_C (unit %Z) (string %C)))) + /* [ contract (or (or nat bool) (or unit string)) ] */ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender.out new file mode 100644 index 000000000000..227872462164 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/sender.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter unit ; + storage address ; + code { DROP + /* [] */ ; + SENDER + /* [ address ] */ ; + NIL operation + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_fib_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_fib_view.out new file mode 100644 index 000000000000..679828fabbad --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_fib_view.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/sender_after_fib_view.tz --details +Well typed +Gas remaining: 1039986.567 units remaining +{ parameter address ; + storage address ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 3 + /* [ nat : address : address ] */ ; + VIEW "fib" nat + /* [ option nat : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 1500 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + SENDER + /* [ address : operation ] */ ; + SWAP + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_nonexistent_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_nonexistent_view.out new file mode 100644 index 000000000000..a57e3239e9ce --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_nonexistent_view.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/sender_after_nonexistent_view.tz --details +Well typed +Gas remaining: 1039987.050 units remaining +{ parameter address ; + storage address ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "id" string + /* [ option string : address ] */ ; + ASSERT_NONE ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 1500 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + SENDER + /* [ address : operation ] */ ; + SWAP + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_view.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_view.out new file mode 100644 index 000000000000..4057fa523ec9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sender_after_view.out @@ -0,0 +1,38 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/sender_after_view.tz --details +Well typed +Gas remaining: 1039986.392 units remaining +{ parameter address ; + storage address ; + code { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + PUSH nat 0 + /* [ nat : address : address ] */ ; + VIEW "id" (pair nat nat) + /* [ option (pair nat nat) : address ] */ ; + ASSERT_SOME ; + DROP + /* [ address ] */ ; + CONTRACT nat + /* [ option (contract nat) ] */ ; + ASSERT_SOME ; + PUSH mutez 1500 + /* [ mutez : contract nat ] */ ; + PUSH nat 0 + /* [ nat : mutez : contract nat ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + SENDER + /* [ address : operation ] */ ; + SWAP + /* [ operation : address ] */ ; + NIL operation + /* [ list operation : operation : address ] */ ; + SWAP + /* [ operation : list operation : address ] */ ; + CONS + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_car.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_car.out new file mode 100644 index 000000000000..e034064a008b --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_car.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/set_car.tz --details +Well typed +Gas remaining: 1039992.274 units remaining +{ parameter string ; + storage (pair (string %s) (nat %n)) ; + code { DUP + /* [ pair string string nat : pair string string nat ] */ ; + CDR + /* [ pair string nat : pair string string nat ] */ ; + DIP { CAR /* [ string ] */ } + /* [ pair string nat : string ] */ ; + SET_CAR %s ; + NIL operation + /* [ list operation : pair string nat ] */ ; + PAIR + /* [ pair (list operation) string nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_cdr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_cdr.out new file mode 100644 index 000000000000..31e8fe61a5a0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_cdr.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/set_cdr.tz --details +Well typed +Gas remaining: 1039992.742 units remaining +{ parameter nat ; + storage (pair (string %s) (nat %n)) ; + code { DUP + /* [ pair nat string nat : pair nat string nat ] */ ; + CDR + /* [ pair string nat : pair nat string nat ] */ ; + DIP { CAR /* [ nat ] */ } + /* [ pair string nat : nat ] */ ; + SET_CDR %n ; + NIL operation + /* [ list operation : pair string nat ] */ ; + PAIR + /* [ pair (list operation) string nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_delegate.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_delegate.out new file mode 100644 index 000000000000..fd8e79371cbf --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_delegate.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/set_delegate.tz --details +Well typed +Gas remaining: 1039996.276 units remaining +{ parameter (option key_hash) ; + storage unit ; + code { UNPAIR + /* [ option key_hash : unit ] */ ; + SET_DELEGATE + /* [ operation : unit ] */ ; + DIP { NIL operation /* [ list operation : unit ] */ } + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_id.out new file mode 100644 index 000000000000..a3ef3073830e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_id.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/set_id.tz --details +Well typed +Gas remaining: 1039997.680 units remaining +{ parameter (set string) ; + storage (set string) ; + code { CAR + /* [ set string ] */ ; + NIL operation + /* [ list operation : set string ] */ ; + PAIR + /* [ pair (list operation) (set string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_iter.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_iter.out new file mode 100644 index 000000000000..492e1353db79 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_iter.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/set_iter.tz --details +Well typed +Gas remaining: 1039995.593 units remaining +{ parameter (set int) ; + storage int ; + code { CAR + /* [ set int ] */ ; + PUSH int 0 + /* [ int : set int ] */ ; + SWAP + /* [ set int : int ] */ ; + ITER { ADD /* [ int ] */ } + /* [ int ] */ ; + NIL operation + /* [ list operation : int ] */ ; + PAIR + /* [ pair (list operation) int ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_member.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_member.out new file mode 100644 index 000000000000..634732fc4591 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_member.out @@ -0,0 +1,32 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/set_member.tz --details +Well typed +Gas remaining: 1039989.840 units remaining +{ parameter string ; + storage (pair (set string) (option bool)) ; + code { DUP + /* [ pair string (set string) (option bool) + : pair string (set string) (option bool) ] */ ; + DUP + /* [ pair string (set string) (option bool) + : pair string (set string) (option bool) + : pair string (set string) (option bool) ] */ ; + CAR + /* [ string : pair string (set string) (option bool) + : pair string (set string) (option bool) ] */ ; + DIP { CDAR } + /* [ string : set string : pair string (set string) (option bool) ] */ ; + MEM + /* [ bool : pair string (set string) (option bool) ] */ ; + SOME + /* [ option bool : pair string (set string) (option bool) ] */ ; + DIP { CDAR } + /* [ option bool : set string ] */ ; + SWAP + /* [ set string : option bool ] */ ; + PAIR + /* [ pair (set string) (option bool) ] */ ; + NIL operation + /* [ list operation : pair (set string) (option bool) ] */ ; + PAIR + /* [ pair (list operation) (set string) (option bool) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_size.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_size.out new file mode 100644 index 000000000000..91e88c468b79 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-set_size.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/set_size.tz --details +Well typed +Gas remaining: 1039997.360 units remaining +{ parameter (set int) ; + storage nat ; + code { CAR + /* [ set int ] */ ; + SIZE + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sets.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sets.out new file mode 100644 index 000000000000..6c49eb8a7b32 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sets.out @@ -0,0 +1,68 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/sets.tz --details +Well typed +Gas remaining: 1039952.034 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH (set nat) { 0 ; 1 ; 3 } + /* [ set nat ] */ ; + DROP + /* [] */ ; + PUSH (set int) { -1 ; 0 ; 3 } + /* [ set int ] */ ; + DROP + /* [] */ ; + PUSH (set mutez) { 1 ; 4 ; 5 ; 10 ; 1923 } + /* [ set mutez ] */ ; + DROP + /* [] */ ; + PUSH (set timestamp) + { -1 ; 0 ; "2017-09-16T08:38:04Z" ; "2019-09-16T08:38:05Z" } + /* [ set timestamp ] */ ; + DROP + /* [] */ ; + PUSH (set bool) {} + /* [ set bool ] */ ; + DROP + /* [] */ ; + PUSH (set bool) { True } + /* [ set bool ] */ ; + DROP + /* [] */ ; + PUSH (set bool) { False } + /* [ set bool ] */ ; + DROP + /* [] */ ; + PUSH (set bool) { False ; True } + /* [ set bool ] */ ; + DROP + /* [] */ ; + PUSH (set string) { "" ; "A" ; "B" ; "a" ; "aa" ; "b" } + /* [ set string ] */ ; + DROP + /* [] */ ; + PUSH (set bytes) { 0x ; 0x01 ; 0x02 ; 0xaabbcc } + /* [ set bytes ] */ ; + DROP + /* [] */ ; + PUSH (set key_hash) + { "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ; + "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" } + /* [ set key_hash ] */ ; + DROP + /* [] */ ; + PUSH (set address) + { "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ; + "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv" ; + "KT1TZCh8fmUbuDqFxetPWC2fsQanAHzLx4W9" } + /* [ set address ] */ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sha3.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sha3.out new file mode 100644 index 000000000000..0af60ebf4613 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sha3.out @@ -0,0 +1,16 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/sha3.tz --details +Well typed +Gas remaining: 1039996.837 units remaining +{ storage (option bytes) ; + parameter bytes ; + code { CAR + /* [ bytes ] */ ; + SHA3 + /* [ bytes ] */ ; + SOME + /* [ option bytes ] */ ; + NIL operation + /* [ list operation : option bytes ] */ ; + PAIR + /* [ pair (list operation) (option bytes) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-shifts.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-shifts.out new file mode 100644 index 000000000000..ba7d94ae7c32 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-shifts.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/shifts.tz --details +Well typed +Gas remaining: 1039994.259 units remaining +{ parameter (or (pair nat nat) (pair nat nat)) ; + storage (option nat) ; + code { CAR + /* [ or (pair nat nat) (pair nat nat) ] */ ; + IF_LEFT + { UNPAIR /* [ nat : nat ] */ ; LSL /* [ nat ] */ } + { UNPAIR /* [ nat : nat ] */ ; LSR /* [ nat ] */ } ; + SOME + /* [ option nat ] */ ; + NIL operation + /* [ list operation : option nat ] */ ; + PAIR + /* [ pair (list operation) (option nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slice.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slice.out new file mode 100644 index 000000000000..44e244d872fa --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slice.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/slice.tz --details +Well typed +Gas remaining: 1039993.747 units remaining +{ parameter (pair nat nat) ; + storage (option string) ; + code { UNPAIR + /* [ pair nat nat : option string ] */ ; + SWAP + /* [ option string : pair nat nat ] */ ; + IF_SOME + { SWAP + /* [ pair nat nat : string ] */ ; + UNPAIR + /* [ nat : nat : string ] */ ; + SLICE + /* [ option string ] */ } + { DROP /* [] */ ; NONE string /* [ option string ] */ } ; + NIL operation + /* [ list operation : option string ] */ ; + PAIR + /* [ pair (list operation) (option string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slice_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slice_bytes.out new file mode 100644 index 000000000000..e7b98928efa9 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slice_bytes.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/slice_bytes.tz --details +Well typed +Gas remaining: 1039993.747 units remaining +{ parameter (pair nat nat) ; + storage (option bytes) ; + code { UNPAIR + /* [ pair nat nat : option bytes ] */ ; + SWAP + /* [ option bytes : pair nat nat ] */ ; + IF_SOME + { SWAP + /* [ pair nat nat : bytes ] */ ; + UNPAIR + /* [ nat : nat : bytes ] */ ; + SLICE + /* [ option bytes ] */ } + { DROP /* [] */ ; NONE bytes /* [ option bytes ] */ } ; + NIL operation + /* [ list operation : option bytes ] */ ; + PAIR + /* [ pair (list operation) (option bytes) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slices.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slices.out new file mode 100644 index 000000000000..bf1f838f80a8 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-slices.out @@ -0,0 +1,116 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/slices.tz --details +Well typed +Gas remaining: 1039937.057 units remaining +{ parameter (pair bytes signature) ; + storage key ; + code { DUP + /* [ pair (pair bytes signature) key : pair (pair bytes signature) key ] */ ; + CAAR ; + DUP + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + SIZE + /* [ nat : bytes : pair (pair bytes signature) key ] */ ; + PUSH nat 128 + /* [ nat : nat : bytes : pair (pair bytes signature) key ] */ ; + SWAP + /* [ nat : nat : bytes : pair (pair bytes signature) key ] */ ; + SUB + /* [ int : bytes : pair (pair bytes signature) key ] */ ; + ISNAT + /* [ option nat : bytes : pair (pair bytes signature) key ] */ ; + IF_SOME { /* [ nat : bytes : pair (pair bytes signature) key ] */ } { FAIL } ; + PUSH nat 128 + /* [ nat : nat : bytes : pair (pair bytes signature) key ] */ ; + SLICE @payload + /* [ option bytes : pair (pair bytes signature) key ] */ ; + ASSERT_SOME ; + DUP + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + DIP { DIP { DUP + /* [ pair (pair bytes signature) key : pair (pair bytes signature) key ] */ ; + CAAR ; + PUSH nat 32 + /* [ nat : bytes : pair (pair bytes signature) key ] */ ; + PUSH nat 0 + /* [ nat : nat : bytes : pair (pair bytes signature) key ] */ ; + SLICE + /* [ option bytes : pair (pair bytes signature) key ] */ ; + ASSERT_SOME } + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + SHA256 + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + ASSERT_CMPEQ } + /* [ bytes : pair (pair bytes signature) key ] */ ; + DUP + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + DIP { DIP { DUP + /* [ pair (pair bytes signature) key : pair (pair bytes signature) key ] */ ; + CAAR ; + PUSH nat 32 + /* [ nat : bytes : pair (pair bytes signature) key ] */ ; + PUSH nat 32 + /* [ nat : nat : bytes : pair (pair bytes signature) key ] */ ; + SLICE + /* [ option bytes : pair (pair bytes signature) key ] */ ; + ASSERT_SOME } + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + BLAKE2B + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + ASSERT_CMPEQ } + /* [ bytes : pair (pair bytes signature) key ] */ ; + DUP + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + DIP { DIP { DUP + /* [ pair (pair bytes signature) key : pair (pair bytes signature) key ] */ ; + CAAR ; + PUSH nat 64 + /* [ nat : bytes : pair (pair bytes signature) key ] */ ; + PUSH nat 64 + /* [ nat : nat : bytes : pair (pair bytes signature) key ] */ ; + SLICE + /* [ option bytes : pair (pair bytes signature) key ] */ ; + ASSERT_SOME } + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + SHA512 + /* [ bytes : bytes : pair (pair bytes signature) key ] */ ; + ASSERT_CMPEQ } + /* [ bytes : pair (pair bytes signature) key ] */ ; + DIP { DUP + /* [ pair (pair bytes signature) key : pair (pair bytes signature) key ] */ ; + CDR + /* [ key : pair (pair bytes signature) key ] */ ; + DIP { DUP + /* [ pair (pair bytes signature) key : pair (pair bytes signature) key ] */ ; + CADR } + /* [ key : signature : pair (pair bytes signature) key ] */ } + /* [ bytes : key : signature : pair (pair bytes signature) key ] */ ; + SWAP + /* [ key : bytes : signature : pair (pair bytes signature) key ] */ ; + DIP { SWAP /* [ signature : bytes : pair (pair bytes signature) key ] */ } + /* [ key : signature : bytes : pair (pair bytes signature) key ] */ ; + CHECK_SIGNATURE + /* [ bool : pair (pair bytes signature) key ] */ ; + ASSERT ; + CDR + /* [ key ] */ ; + DUP + /* [ key : key ] */ ; + HASH_KEY + /* [ key_hash : key ] */ ; + IMPLICIT_ACCOUNT + /* [ contract unit : key ] */ ; + BALANCE + /* [ mutez : contract unit : key ] */ ; + UNIT + /* [ unit : mutez : contract unit : key ] */ ; + TRANSFER_TOKENS + /* [ operation : key ] */ ; + NIL operation + /* [ list operation : operation : key ] */ ; + SWAP + /* [ operation : list operation : key ] */ ; + CONS + /* [ list operation : key ] */ ; + PAIR + /* [ pair (list operation) key ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-source.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-source.out new file mode 100644 index 000000000000..82a7bdef4949 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-source.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/source.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter unit ; + storage address ; + code { DROP + /* [] */ ; + SOURCE + /* [ address ] */ ; + NIL operation + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-split_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-split_bytes.out new file mode 100644 index 000000000000..a4ec11831d9f --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-split_bytes.out @@ -0,0 +1,71 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/split_bytes.tz --details +Well typed +Gas remaining: 1039973.337 units remaining +{ parameter bytes ; + storage (list bytes) ; + code { UNPAIR + /* [ bytes : list bytes ] */ ; + DIP { NIL bytes + /* [ list bytes : list bytes ] */ ; + SWAP + /* [ list bytes : list bytes ] */ ; + ITER { CONS /* [ list bytes ] */ } + /* [ list bytes ] */ } + /* [ bytes : list bytes ] */ ; + DUP + /* [ bytes : bytes : list bytes ] */ ; + SIZE + /* [ nat : bytes : list bytes ] */ ; + PUSH nat 0 + /* [ nat : nat : bytes : list bytes ] */ ; + CMPNEQ ; + DIP { PUSH @index nat 0 /* [ nat : bytes : list bytes ] */ } + /* [ bool : nat : bytes : list bytes ] */ ; + LOOP { PAIR + /* [ pair nat bytes : list bytes ] */ ; + DUP + /* [ pair nat bytes : pair nat bytes : list bytes ] */ ; + DIP { UNPAIR + /* [ nat : bytes : list bytes ] */ ; + DIP { PUSH nat 1 /* [ nat : bytes : list bytes ] */ } + /* [ nat : nat : bytes : list bytes ] */ ; + SLICE + /* [ option bytes : list bytes ] */ ; + ASSERT_SOME ; + CONS @storage + /* [ list bytes ] */ } + /* [ pair nat bytes : list bytes ] */ ; + UNPAIR + /* [ nat : bytes : list bytes ] */ ; + PUSH nat 1 + /* [ nat : nat : bytes : list bytes ] */ ; + ADD @index + /* [ nat : bytes : list bytes ] */ ; + DUP + /* [ nat : nat : bytes : list bytes ] */ ; + DIP { DIP { DUP /* [ bytes : bytes : list bytes ] */ } + /* [ nat : bytes : bytes : list bytes ] */ ; + SWAP + /* [ bytes : nat : bytes : list bytes ] */ ; + SIZE + /* [ nat : nat : bytes : list bytes ] */ ; + CMPNEQ } + /* [ nat : bool : bytes : list bytes ] */ ; + SWAP + /* [ bool : nat : bytes : list bytes ] */ } + /* [ nat : bytes : list bytes ] */ ; + DROP + /* [ bytes : list bytes ] */ ; + DROP + /* [ list bytes ] */ ; + NIL bytes + /* [ list bytes : list bytes ] */ ; + SWAP + /* [ list bytes : list bytes ] */ ; + ITER { CONS /* [ list bytes ] */ } + /* [ list bytes ] */ ; + NIL operation + /* [ list operation : list bytes ] */ ; + PAIR + /* [ pair (list operation) (list bytes) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-split_string.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-split_string.out new file mode 100644 index 000000000000..e767a5659130 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-split_string.out @@ -0,0 +1,71 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/split_string.tz --details +Well typed +Gas remaining: 1039973.337 units remaining +{ parameter string ; + storage (list string) ; + code { UNPAIR + /* [ string : list string ] */ ; + DIP { NIL string + /* [ list string : list string ] */ ; + SWAP + /* [ list string : list string ] */ ; + ITER { CONS /* [ list string ] */ } + /* [ list string ] */ } + /* [ string : list string ] */ ; + DUP + /* [ string : string : list string ] */ ; + SIZE + /* [ nat : string : list string ] */ ; + PUSH nat 0 + /* [ nat : nat : string : list string ] */ ; + CMPNEQ ; + DIP { PUSH @index nat 0 /* [ nat : string : list string ] */ } + /* [ bool : nat : string : list string ] */ ; + LOOP { PAIR + /* [ pair nat string : list string ] */ ; + DUP + /* [ pair nat string : pair nat string : list string ] */ ; + DIP { UNPAIR + /* [ nat : string : list string ] */ ; + DIP { PUSH nat 1 /* [ nat : string : list string ] */ } + /* [ nat : nat : string : list string ] */ ; + SLICE + /* [ option string : list string ] */ ; + ASSERT_SOME ; + CONS @storage + /* [ list string ] */ } + /* [ pair nat string : list string ] */ ; + UNPAIR + /* [ nat : string : list string ] */ ; + PUSH nat 1 + /* [ nat : nat : string : list string ] */ ; + ADD @index + /* [ nat : string : list string ] */ ; + DUP + /* [ nat : nat : string : list string ] */ ; + DIP { DIP { DUP /* [ string : string : list string ] */ } + /* [ nat : string : string : list string ] */ ; + SWAP + /* [ string : nat : string : list string ] */ ; + SIZE + /* [ nat : nat : string : list string ] */ ; + CMPNEQ } + /* [ nat : bool : string : list string ] */ ; + SWAP + /* [ bool : nat : string : list string ] */ } + /* [ nat : string : list string ] */ ; + DROP + /* [ string : list string ] */ ; + DROP + /* [ list string ] */ ; + NIL string + /* [ list string : list string ] */ ; + SWAP + /* [ list string : list string ] */ ; + ITER { CONS /* [ list string ] */ } + /* [ list string ] */ ; + NIL operation + /* [ list operation : list string ] */ ; + PAIR + /* [ pair (list operation) (list string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_fr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_fr.out new file mode 100644 index 000000000000..e16205c2d133 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_fr.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/store_bls12_381_fr.tz --details +Well typed +Gas remaining: 1039997.300 units remaining +{ parameter bls12_381_fr ; + storage (option bls12_381_fr) ; + code { CAR + /* [ bls12_381_fr ] */ ; + SOME + /* [ option bls12_381_fr ] */ ; + NIL operation + /* [ list operation : option bls12_381_fr ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_fr) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_g1.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_g1.out new file mode 100644 index 000000000000..c6cf5e5dfbfd --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_g1.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/store_bls12_381_g1.tz --details +Well typed +Gas remaining: 1039997.300 units remaining +{ parameter bls12_381_g1 ; + storage (option bls12_381_g1) ; + code { CAR + /* [ bls12_381_g1 ] */ ; + SOME + /* [ option bls12_381_g1 ] */ ; + NIL operation + /* [ list operation : option bls12_381_g1 ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_g1) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_g2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_g2.out new file mode 100644 index 000000000000..b7c248cbfb5c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_bls12_381_g2.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/store_bls12_381_g2.tz --details +Well typed +Gas remaining: 1039997.300 units remaining +{ parameter bls12_381_g2 ; + storage (option bls12_381_g2) ; + code { CAR + /* [ bls12_381_g2 ] */ ; + SOME + /* [ option bls12_381_g2 ] */ ; + NIL operation + /* [ list operation : option bls12_381_g2 ] */ ; + PAIR + /* [ pair (list operation) (option bls12_381_g2) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_input.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_input.out new file mode 100644 index 000000000000..af72f6b39e1c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_input.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/store_input.tz --details +Well typed +Gas remaining: 1039997.907 units remaining +{ parameter string ; + storage string ; + code { CAR + /* [ string ] */ ; + NIL operation + /* [ list operation : string ] */ ; + PAIR + /* [ pair (list operation) string ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_now.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_now.out new file mode 100644 index 000000000000..f4b820ad0e86 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-store_now.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/store_now.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter unit ; + storage timestamp ; + code { DROP + /* [] */ ; + NOW + /* [ timestamp ] */ ; + NIL operation + /* [ list operation : timestamp ] */ ; + PAIR + /* [ pair (list operation) timestamp ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-str_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-str_id.out new file mode 100644 index 000000000000..95a93d0659f0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-str_id.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/str_id.tz --details +Well typed +Gas remaining: 1039997.300 units remaining +{ parameter string ; + storage (option string) ; + code { CAR + /* [ string ] */ ; + SOME + /* [ option string ] */ ; + NIL operation + /* [ list operation : option string ] */ ; + PAIR + /* [ pair (list operation) (option string) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sub_timestamp_delta.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sub_timestamp_delta.out new file mode 100644 index 000000000000..14f855dbb82b --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-sub_timestamp_delta.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/sub_timestamp_delta.tz --details +Well typed +Gas remaining: 1039995.013 units remaining +{ parameter (pair timestamp int) ; + storage timestamp ; + code { CAR + /* [ pair timestamp int ] */ ; + DUP + /* [ pair timestamp int : pair timestamp int ] */ ; + CAR + /* [ timestamp : pair timestamp int ] */ ; + DIP { CDR /* [ int ] */ } + /* [ timestamp : int ] */ ; + SUB + /* [ timestamp ] */ ; + NIL operation + /* [ list operation : timestamp ] */ ; + PAIR + /* [ pair (list operation) timestamp ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-subset.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-subset.out new file mode 100644 index 000000000000..840987e4942d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-subset.out @@ -0,0 +1,45 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/subset.tz --details +Well typed +Gas remaining: 1039986.401 units remaining +{ parameter (pair (set string) (set string)) ; + storage bool ; + code { CAR + /* [ pair (set string) (set string) ] */ ; + DUP + /* [ pair (set string) (set string) : pair (set string) (set string) ] */ ; + CDR + /* [ set string : pair (set string) (set string) ] */ ; + DIP { CAR /* [ set string ] */ } + /* [ set string : set string ] */ ; + PUSH bool True + /* [ bool : set string : set string ] */ ; + PAIR + /* [ pair bool (set string) : set string ] */ ; + SWAP + /* [ set string : pair bool (set string) ] */ ; + ITER { DIP { DUP + /* [ pair bool (set string) : pair bool (set string) ] */ ; + DUP + /* [ pair bool (set string) : pair bool (set string) : pair bool (set string) ] */ ; + CDR + /* [ set string : pair bool (set string) : pair bool (set string) ] */ ; + DIP { CAR + /* [ bool : pair bool (set string) ] */ ; + DIP { CDR /* [ set string ] */ } + /* [ bool : set string ] */ } + /* [ set string : bool : set string ] */ } + /* [ string : set string : bool : set string ] */ ; + MEM + /* [ bool : bool : set string ] */ ; + AND + /* [ bool : set string ] */ ; + PAIR + /* [ pair bool (set string) ] */ } + /* [ pair bool (set string) ] */ ; + CAR + /* [ bool ] */ ; + NIL operation + /* [ list operation : bool ] */ ; + PAIR + /* [ pair (list operation) bool ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-tez_add_sub.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-tez_add_sub.out new file mode 100644 index 000000000000..a8f4e7ea51bf --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-tez_add_sub.out @@ -0,0 +1,36 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/tez_add_sub.tz --details +Well typed +Gas remaining: 1039987.345 units remaining +{ parameter (pair mutez mutez) ; + storage (option (pair mutez mutez)) ; + code { CAR + /* [ pair mutez mutez ] */ ; + DUP + /* [ pair mutez mutez : pair mutez mutez ] */ ; + DUP + /* [ pair mutez mutez : pair mutez mutez : pair mutez mutez ] */ ; + CAR + /* [ mutez : pair mutez mutez : pair mutez mutez ] */ ; + DIP { CDR /* [ mutez : pair mutez mutez ] */ } + /* [ mutez : mutez : pair mutez mutez ] */ ; + ADD + /* [ mutez : pair mutez mutez ] */ ; + DIP { DUP + /* [ pair mutez mutez : pair mutez mutez ] */ ; + CAR + /* [ mutez : pair mutez mutez ] */ ; + DIP { CDR /* [ mutez ] */ } + /* [ mutez : mutez ] */ ; + SUB_MUTEZ + /* [ option mutez ] */ ; + ASSERT_SOME } + /* [ mutez : mutez ] */ ; + PAIR + /* [ pair mutez mutez ] */ ; + SOME + /* [ option (pair mutez mutez) ] */ ; + NIL operation + /* [ list operation : option (pair mutez mutez) ] */ ; + PAIR + /* [ pair (list operation) (option (pair mutez mutez)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_bad.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_bad.out new file mode 100644 index 000000000000..b7acde043878 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_bad.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ticket_bad.tz --details +Well typed +Gas remaining: 1039997.763 units remaining +{ parameter unit ; + storage (ticket nat) ; + code { CDR + /* [ ticket nat ] */ ; + NIL operation + /* [ list operation : ticket nat ] */ ; + PAIR + /* [ pair (list operation) (ticket nat) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_big_store.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_big_store.out new file mode 100644 index 000000000000..e56d1b0aef9e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_big_store.out @@ -0,0 +1,25 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ticket_big_store.tz --details +Well typed +Gas remaining: 1039991.976 units remaining +{ parameter nat ; + storage (big_map unit (ticket nat)) ; + code { UNPAIR + /* [ nat : big_map unit (ticket nat) ] */ ; + PUSH nat 1 + /* [ nat : nat : big_map unit (ticket nat) ] */ ; + SWAP + /* [ nat : nat : big_map unit (ticket nat) ] */ ; + TICKET + /* [ option (ticket nat) : big_map unit (ticket nat) ] */ ; + ASSERT_SOME ; + SOME + /* [ option (ticket nat) : big_map unit (ticket nat) ] */ ; + UNIT + /* [ unit : option (ticket nat) : big_map unit (ticket nat) ] */ ; + UPDATE + /* [ big_map unit (ticket nat) ] */ ; + NIL operation + /* [ list operation : big_map unit (ticket nat) ] */ ; + PAIR + /* [ pair (list operation) (big_map unit (ticket nat)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_join.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_join.out new file mode 100644 index 000000000000..45a601c3dcb1 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_join.out @@ -0,0 +1,23 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ticket_join.tz --details +Well typed +Gas remaining: 1039992.503 units remaining +{ parameter (ticket nat) ; + storage (option (ticket nat)) ; + code { UNPAIR + /* [ ticket nat : option (ticket nat) ] */ ; + SWAP + /* [ option (ticket nat) : ticket nat ] */ ; + IF_NONE + { /* [ ticket nat ] */ } + { PAIR + /* [ pair (ticket nat) (ticket nat) ] */ ; + JOIN_TICKETS + /* [ option (ticket nat) ] */ ; + ASSERT_SOME } ; + SOME + /* [ option (ticket nat) ] */ ; + NIL operation + /* [ list operation : option (ticket nat) ] */ ; + PAIR + /* [ pair (list operation) (option (ticket nat)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_read.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_read.out new file mode 100644 index 000000000000..f2e3aef3ab28 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_read.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ticket_read.tz --details +Well typed +Gas remaining: 1039985.350 units remaining +{ parameter (ticket nat) ; + storage address ; + code { CAR + /* [ ticket nat ] */ ; + READ_TICKET + /* [ pair address nat nat : ticket nat ] */ ; + DIP { DROP /* [] */ } + /* [ pair address nat nat ] */ ; + UNPAIR + /* [ address : pair nat nat ] */ ; + DIP { UNPAIR /* [ nat : nat ] */ } + /* [ address : nat : nat ] */ ; + DIIP { PUSH nat 1 /* [ nat : nat ] */ ; ASSERT_CMPEQ } + /* [ address : nat ] */ ; + DIP { PUSH nat 42 /* [ nat : nat ] */ ; ASSERT_CMPEQ } + /* [ address ] */ ; + NIL operation + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_split.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_split.out new file mode 100644 index 000000000000..47ca6296e488 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_split.out @@ -0,0 +1,39 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ticket_split.tz --details +Well typed +Gas remaining: 1039979.558 units remaining +{ parameter (ticket nat) ; + storage unit ; + code { CAR + /* [ ticket nat ] */ ; + PUSH (pair nat nat) (Pair 1 2) + /* [ pair nat nat : ticket nat ] */ ; + SWAP + /* [ ticket nat : pair nat nat ] */ ; + SPLIT_TICKET + /* [ option (pair (ticket nat) (ticket nat)) ] */ ; + ASSERT_SOME ; + UNPAIR + /* [ ticket nat : ticket nat ] */ ; + READ_TICKET + /* [ pair address nat nat : ticket nat : ticket nat ] */ ; + CDDR ; + PUSH nat 1 + /* [ nat : nat : ticket nat : ticket nat ] */ ; + ASSERT_CMPEQ ; + DROP + /* [ ticket nat ] */ ; + READ_TICKET + /* [ pair address nat nat : ticket nat ] */ ; + CDDR ; + PUSH nat 2 + /* [ nat : nat : ticket nat ] */ ; + ASSERT_CMPEQ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_store-2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_store-2.out new file mode 100644 index 000000000000..3d1c8b15b042 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_store-2.out @@ -0,0 +1,12 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ticket_store-2.tz --details +Well typed +Gas remaining: 1039997.454 units remaining +{ parameter (option (ticket nat)) ; + storage (option (ticket nat)) ; + code { CAR + /* [ option (ticket nat) ] */ ; + NIL operation + /* [ list operation : option (ticket nat) ] */ ; + PAIR + /* [ pair (list operation) (option (ticket nat)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_store.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_store.out new file mode 100644 index 000000000000..f68fff36e95c --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticket_store.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ticket_store.tz --details +Well typed +Gas remaining: 1039997.074 units remaining +{ parameter (ticket nat) ; + storage (option (ticket nat)) ; + code { CAR + /* [ ticket nat ] */ ; + SOME + /* [ option (ticket nat) ] */ ; + NIL operation + /* [ list operation : option (ticket nat) ] */ ; + PAIR + /* [ pair (list operation) (option (ticket nat)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticketer-2.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticketer-2.out new file mode 100644 index 000000000000..8ff9552c8a75 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticketer-2.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ticketer-2.tz --details +Well typed +Gas remaining: 1039986.226 units remaining +{ parameter (pair (pair address nat) nat) ; + storage unit ; + code { CAR + /* [ pair (pair address nat) nat ] */ ; + UNPAIR + /* [ pair address nat : nat ] */ ; + UNPAIR + /* [ address : nat : nat ] */ ; + CONTRACT (ticket nat) + /* [ option (contract (ticket nat)) : nat : nat ] */ ; + ASSERT_SOME ; + DIP { TICKET /* [ option (ticket nat) ] */ ; ASSERT_SOME } + /* [ contract (ticket nat) : ticket nat ] */ ; + SWAP + /* [ ticket nat : contract (ticket nat) ] */ ; + DIP { PUSH mutez 0 /* [ mutez : contract (ticket nat) ] */ } + /* [ ticket nat : mutez : contract (ticket nat) ] */ ; + TRANSFER_TOKENS + /* [ operation ] */ ; + NIL operation + /* [ list operation : operation ] */ ; + SWAP + /* [ operation : list operation ] */ ; + CONS + /* [ list operation ] */ ; + UNIT + /* [ unit : list operation ] */ ; + SWAP + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticketer.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticketer.out new file mode 100644 index 000000000000..61d79489abda --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-ticketer.out @@ -0,0 +1,35 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/ticketer.tz --details +Well typed +Gas remaining: 1039986.744 units remaining +{ parameter address ; + storage nat ; + code { UNPAIR + /* [ address : nat ] */ ; + DIP { DUP /* [ nat : nat ] */ } + /* [ address : nat : nat ] */ ; + SWAP + /* [ nat : address : nat ] */ ; + PUSH nat 1 + /* [ nat : nat : address : nat ] */ ; + SWAP + /* [ nat : nat : address : nat ] */ ; + TICKET + /* [ option (ticket nat) : address : nat ] */ ; + ASSERT_SOME ; + DIP { CONTRACT (ticket nat) + /* [ option (contract (ticket nat)) : nat ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract (ticket nat) : nat ] */ } + /* [ ticket nat : mutez : contract (ticket nat) : nat ] */ ; + TRANSFER_TOKENS + /* [ operation : nat ] */ ; + NIL operation + /* [ list operation : operation : nat ] */ ; + SWAP + /* [ operation : list operation : nat ] */ ; + CONS + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-transfer_amount.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-transfer_amount.out new file mode 100644 index 000000000000..9ab93ce60aaa --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-transfer_amount.out @@ -0,0 +1,14 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/transfer_amount.tz --details +Well typed +Gas remaining: 1039997.443 units remaining +{ parameter unit ; + storage mutez ; + code { DROP + /* [] */ ; + AMOUNT + /* [ mutez ] */ ; + NIL operation + /* [ list operation : mutez ] */ ; + PAIR + /* [ pair (list operation) mutez ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-transfer_tokens.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-transfer_tokens.out new file mode 100644 index 000000000000..c0b1e2605d33 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-transfer_tokens.out @@ -0,0 +1,24 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/transfer_tokens.tz --details +Well typed +Gas remaining: 1039994.130 units remaining +{ parameter (contract unit) ; + storage unit ; + code { CAR + /* [ contract unit ] */ ; + DIP { UNIT /* [ unit ] */ } + /* [ contract unit : unit ] */ ; + PUSH mutez 100000000 + /* [ mutez : contract unit : unit ] */ ; + UNIT + /* [ unit : mutez : contract unit : unit ] */ ; + TRANSFER_TOKENS + /* [ operation : unit ] */ ; + NIL operation + /* [ list operation : operation : unit ] */ ; + SWAP + /* [ operation : list operation : unit ] */ ; + CONS + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-uncomb.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-uncomb.out new file mode 100644 index 000000000000..9e56aa5d76ad --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-uncomb.out @@ -0,0 +1,28 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/uncomb.tz --details +Well typed +Gas remaining: 1039993.181 units remaining +{ parameter (pair nat nat nat) ; + storage nat ; + code { CAR + /* [ pair nat nat nat ] */ ; + UNPAIR 3 + /* [ nat : nat : nat ] */ ; + PUSH nat 100 + /* [ nat : nat : nat : nat ] */ ; + MUL + /* [ nat : nat : nat ] */ ; + SWAP + /* [ nat : nat : nat ] */ ; + PUSH nat 10 + /* [ nat : nat : nat : nat ] */ ; + MUL + /* [ nat : nat : nat ] */ ; + ADD + /* [ nat : nat ] */ ; + ADD + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-unpair.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-unpair.out new file mode 100644 index 000000000000..c5f6b1f70c83 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-unpair.out @@ -0,0 +1,322 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/unpair.tz --details +Well typed +Gas remaining: 1039904.519 units remaining +{ parameter (unit :param_unit) ; + storage (unit :u1) ; + code { DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + UNIT + /* [ unit : unit ] */ ; + PAIR + /* [ pair unit unit ] */ ; + UNPAIR + /* [ unit : unit ] */ ; + DROP 2 + /* [] */ ; + UNIT @b + /* [ unit ] */ ; + UNIT @a + /* [ unit : unit ] */ ; + PAIR + /* [ pair unit unit ] */ ; + UNPAIR @c @d + /* [ unit : unit ] */ ; + DROP 2 + /* [] */ ; + UNIT @b + /* [ unit ] */ ; + UNIT @a + /* [ unit : unit ] */ ; + PAIR %@ %@ + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR % %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a % + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR % % + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR % + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a %b @a @b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @a @b %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @a @% %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @% @% %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @% @b %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DROP + /* [] */ ; + UNIT @d + /* [ unit ] */ ; + UNIT @c + /* [ unit : unit ] */ ; + PAIR %a %b + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR % %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a % + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR % % + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR % + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a %b @a @b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @a @b %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @a @% %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @% @% %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @% @b %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + UNIT + /* [ unit : unit ] */ ; + PAIR %a %b + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR % %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a % + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR % % + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR % + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %a %b @a @b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @a @b %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @a @% %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @% @% %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @% @b %a %b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + UNIT + /* [ unit : unit ] */ ; + PAIR %a %b @p + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @%% @b + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @a @%% + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @%% @%% + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @% @%% + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR @%% @% + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DROP + /* [] */ ; + UNIT @b + /* [ unit ] */ ; + UNIT @a + /* [ unit : unit ] */ ; + PAIR @c + /* [ pair unit unit ] */ ; + UNPAIR @b @a + /* [ unit : unit ] */ ; + DROP 2 + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-unpair_field_annotation_mismatch.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-unpair_field_annotation_mismatch.out new file mode 100644 index 000000000000..3ebfa4060819 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-unpair_field_annotation_mismatch.out @@ -0,0 +1,28 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/unpair_field_annotation_mismatch.tz --details +Well typed +Gas remaining: 1039993.685 units remaining +{ parameter (unit :param_unit) ; + storage (unit :u1) ; + code { DROP + /* [] */ ; + UNIT @b + /* [ unit ] */ ; + UNIT @a + /* [ unit : unit ] */ ; + PAIR %@ %@ + /* [ pair unit unit ] */ ; + DUP + /* [ pair unit unit : pair unit unit ] */ ; + UNPAIR %c %d + /* [ unit : unit : pair unit unit ] */ ; + DROP 2 + /* [ pair unit unit ] */ ; + DROP + /* [] */ ; + UNIT + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-update_big_map.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-update_big_map.out new file mode 100644 index 000000000000..7a20eddde6aa --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-update_big_map.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/update_big_map.tz --details +Well typed +Gas remaining: 1039993.471 units remaining +{ storage (pair (big_map string string) unit) ; + parameter (map string (option string)) ; + code { UNPAPAIR ; + ITER { UNPAIR + /* [ string : option string : big_map string string : unit ] */ ; + UPDATE + /* [ big_map string string : unit ] */ } + /* [ big_map string string : unit ] */ ; + PAIR + /* [ pair (big_map string string) unit ] */ ; + NIL operation + /* [ list operation : pair (big_map string string) unit ] */ ; + PAIR + /* [ pair (list operation) (big_map string string) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-utxo_read.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-utxo_read.out new file mode 100644 index 000000000000..0876211e887e --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-utxo_read.out @@ -0,0 +1,26 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/utxo_read.tz --details +Well typed +Gas remaining: 1039985.390 units remaining +{ parameter (pair (ticket nat) nat) ; + storage address ; + code { CAR + /* [ pair (ticket nat) nat ] */ ; + UNPAIR + /* [ ticket nat : nat ] */ ; + READ_TICKET + /* [ pair address nat nat : ticket nat : nat ] */ ; + DIP { DROP /* [ nat ] */ } + /* [ pair address nat nat : nat ] */ ; + UNPAIR + /* [ address : pair nat nat : nat ] */ ; + DIP { UNPAIR /* [ nat : nat : nat ] */ } + /* [ address : nat : nat : nat ] */ ; + DIIP { ASSERT_CMPEQ } + /* [ address : nat ] */ ; + DIP { PUSH nat 42 /* [ nat : nat ] */ ; ASSERT_CMPEQ } + /* [ address ] */ ; + NIL operation + /* [ list operation : address ] */ ; + PAIR + /* [ pair (list operation) address ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-utxor.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-utxor.out new file mode 100644 index 000000000000..6e2391d8c428 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-utxor.out @@ -0,0 +1,93 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/utxor.tz --details +Well typed +Gas remaining: 1039966.804 units remaining +{ parameter (pair address address) ; + storage nat ; + code { UNPAIR + /* [ pair address address : nat ] */ ; + DIP { DUP /* [ nat : nat ] */ } + /* [ pair address address : nat : nat ] */ ; + SWAP + /* [ nat : pair address address : nat ] */ ; + PUSH nat 5 + /* [ nat : nat : pair address address : nat ] */ ; + SWAP + /* [ nat : nat : pair address address : nat ] */ ; + TICKET + /* [ option (ticket nat) : pair address address : nat ] */ ; + ASSERT_SOME ; + PUSH nat 2 + /* [ nat : ticket nat : pair address address : nat ] */ ; + PUSH nat 3 + /* [ nat : nat : ticket nat : pair address address : nat ] */ ; + PAIR + /* [ pair nat nat : ticket nat : pair address address : nat ] */ ; + SWAP + /* [ ticket nat : pair nat nat : pair address address : nat ] */ ; + SPLIT_TICKET + /* [ option (pair (ticket nat) (ticket nat)) : pair address address : nat ] */ ; + ASSERT_SOME ; + UNPAIR + /* [ ticket nat : ticket nat : pair address address : nat ] */ ; + DIP { DIP { DUP + /* [ pair address address : pair address address : nat ] */ ; + CAR + /* [ address : pair address address : nat ] */ ; + CONTRACT + (pair (ticket nat) nat) + /* [ option (contract (pair (ticket nat) nat)) : pair address address : nat ] */ ; + ASSERT_SOME ; + PUSH mutez + 0 + /* [ mutez : contract (pair (ticket nat) nat) : pair address address : nat ] */ } + /* [ ticket nat : mutez : contract (pair (ticket nat) nat) + : pair address address : nat ] */ ; + PUSH nat + 2 + /* [ nat : ticket nat : mutez : contract (pair (ticket nat) nat) + : pair address address : nat ] */ ; + SWAP + /* [ ticket nat : nat : mutez : contract (pair (ticket nat) nat) + : pair address address : nat ] */ ; + PAIR + /* [ pair (ticket nat) nat : mutez : contract (pair (ticket nat) nat) + : pair address address : nat ] */ } + /* [ ticket nat : pair (ticket nat) nat : mutez + : contract (pair (ticket nat) nat) : pair address address : nat ] */ ; + DIP { TRANSFER_TOKENS /* [ operation : pair address address : nat ] */ } + /* [ ticket nat : operation : pair address address : nat ] */ ; + SWAP + /* [ operation : ticket nat : pair address address : nat ] */ ; + DIP { DIP { CDR + /* [ address : nat ] */ ; + CONTRACT + (pair (ticket nat) nat) + /* [ option (contract (pair (ticket nat) nat)) : nat ] */ ; + ASSERT_SOME ; + PUSH mutez 0 + /* [ mutez : contract (pair (ticket nat) nat) : nat ] */ } + /* [ ticket nat : mutez : contract (pair (ticket nat) nat) : nat ] */ ; + PUSH nat + 3 + /* [ nat : ticket nat : mutez : contract (pair (ticket nat) nat) : nat ] */ ; + SWAP + /* [ ticket nat : nat : mutez : contract (pair (ticket nat) nat) : nat ] */ ; + PAIR + /* [ pair (ticket nat) nat : mutez : contract (pair (ticket nat) nat) : nat ] */ } + /* [ operation : pair (ticket nat) nat : mutez + : contract (pair (ticket nat) nat) : nat ] */ ; + DIP { TRANSFER_TOKENS /* [ operation : nat ] */ } + /* [ operation : operation : nat ] */ ; + NIL operation + /* [ list operation : operation : operation : nat ] */ ; + SWAP + /* [ operation : list operation : operation : nat ] */ ; + CONS + /* [ list operation : operation : nat ] */ ; + SWAP + /* [ operation : list operation : nat ] */ ; + CONS + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_fib.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_fib.out new file mode 100644 index 000000000000..667052c67370 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_fib.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_fib.tz --details +Well typed +Gas remaining: 1039994.630 units remaining +{ parameter (pair nat address) ; + storage nat ; + code { CAR + /* [ pair nat address ] */ ; + UNPAIR + /* [ nat : address ] */ ; + VIEW "fib" nat + /* [ option nat ] */ ; + IF_SOME + { NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } + { FAIL } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_mutual_recursion.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_mutual_recursion.out new file mode 100644 index 000000000000..6b8f8ca5ef02 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_mutual_recursion.out @@ -0,0 +1,22 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_mutual_recursion.tz --details +Well typed +Gas remaining: 1039993.335 units remaining +{ parameter (pair nat address) ; + storage nat ; + code { CAR + /* [ pair nat address ] */ ; + DUP + /* [ pair nat address : pair nat address ] */ ; + CDR + /* [ address : pair nat address ] */ ; + SWAP + /* [ pair nat address : address ] */ ; + VIEW "is_twenty" nat + /* [ option nat ] */ ; + IF_SOME + { NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } + { FAIL } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_add.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_add.out new file mode 100644 index 000000000000..3206a9c262ff --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_add.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_op_add.tz --details +Well typed +Gas remaining: 1039994.410 units remaining +{ parameter (pair nat address) ; + storage nat ; + code { CAR + /* [ pair nat address ] */ ; + UNPAIR + /* [ nat : address ] */ ; + VIEW "add" nat + /* [ option nat ] */ ; + IF_SOME { /* [ nat ] */ } { FAIL } ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_constant.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_constant.out new file mode 100644 index 000000000000..600d4ae55da2 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_constant.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_op_constant.tz --details +Well typed +Gas remaining: 1039994.390 units remaining +{ parameter (pair nat address) ; + storage nat ; + code { CAR + /* [ pair nat address ] */ ; + UNPAIR + /* [ nat : address ] */ ; + VIEW "const" nat + /* [ option nat ] */ ; + IF_SOME { /* [ nat ] */ } { FAIL } ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_id.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_id.out new file mode 100644 index 000000000000..9f189c7f17b0 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_id.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_op_id.tz --details +Well typed +Gas remaining: 1039993.949 units remaining +{ parameter (pair nat address) ; + storage (pair nat nat) ; + code { CAR + /* [ pair nat address ] */ ; + UNPAIR + /* [ nat : address ] */ ; + VIEW "id" (pair nat nat) + /* [ option (pair nat nat) ] */ ; + IF_SOME { /* [ pair nat nat ] */ } { FAIL } ; + NIL operation + /* [ list operation : pair nat nat ] */ ; + PAIR + /* [ pair (list operation) nat nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_nonexistent_addr.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_nonexistent_addr.out new file mode 100644 index 000000000000..f7f1cb8db48d --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_nonexistent_addr.out @@ -0,0 +1,21 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_op_nonexistent_addr.tz --details +Well typed +Gas remaining: 1039989.259 units remaining +{ parameter (pair nat address) ; + storage bool ; + code { DROP + /* [] */ ; + PUSH address "tz1SuakBpFdG9b4twyfrSMqZzruxhpMeSrE5" + /* [ address ] */ ; + PUSH nat 0 + /* [ nat : address ] */ ; + VIEW "test" bool + /* [ option bool ] */ ; + IF_SOME + { DROP /* [] */ ; PUSH bool True /* [ bool ] */ } + { PUSH bool False /* [ bool ] */ } ; + NIL operation + /* [ list operation : bool ] */ ; + PAIR + /* [ pair (list operation) bool ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_nonexistent_func.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_nonexistent_func.out new file mode 100644 index 000000000000..1ec7e3275306 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_nonexistent_func.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_op_nonexistent_func.tz --details +Well typed +Gas remaining: 1039993.859 units remaining +{ parameter (pair nat address) ; + storage bool ; + code { CAR + /* [ pair nat address ] */ ; + UNPAIR + /* [ nat : address ] */ ; + VIEW "not_exist" bool + /* [ option bool ] */ ; + IF_SOME + { DROP /* [] */ ; PUSH bool True /* [ bool ] */ } + { PUSH bool False /* [ bool ] */ } ; + NIL operation + /* [ list operation : bool ] */ ; + PAIR + /* [ pair (list operation) bool ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_test_step_contants.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_test_step_contants.out new file mode 100644 index 000000000000..3292003bf012 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_test_step_contants.out @@ -0,0 +1,18 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_op_test_step_contants.tz --details +Well typed +Gas remaining: 1039994.470 units remaining +{ parameter address ; + storage (option (pair (pair mutez mutez) (pair (pair address address) address))) ; + code { CAR + /* [ address ] */ ; + UNIT + /* [ unit : address ] */ ; + VIEW "step_constants" + (pair (pair mutez mutez) (pair (pair address address) address)) + /* [ option (pair (pair mutez mutez) (pair address address) address) ] */ ; + NIL operation + /* [ list operation + : option (pair (pair mutez mutez) (pair address address) address) ] */ ; + PAIR + /* [ pair (list operation) (option (pair (pair mutez mutez) (pair address address) address)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_toplevel_inconsistent_input_type.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_toplevel_inconsistent_input_type.out new file mode 100644 index 000000000000..351a24e89eb7 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_toplevel_inconsistent_input_type.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_op_toplevel_inconsistent_input_type.tz --details +Well typed +Gas remaining: 1039993.919 units remaining +{ parameter (pair int address) ; + storage nat ; + code { CAR + /* [ pair int address ] */ ; + UNPAIR + /* [ int : address ] */ ; + VIEW "add" nat + /* [ option nat ] */ ; + IF_SOME { DROP /* [] */ ; PUSH nat 1 /* [ nat ] */ } { PUSH nat 0 /* [ nat ] */ } ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_toplevel_inconsistent_output_type.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_toplevel_inconsistent_output_type.out new file mode 100644 index 000000000000..3614bfb03c62 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_op_toplevel_inconsistent_output_type.out @@ -0,0 +1,19 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_op_toplevel_inconsistent_output_type.tz --details +Well typed +Gas remaining: 1039993.919 units remaining +{ parameter (pair nat address) ; + storage bool ; + code { CAR + /* [ pair nat address ] */ ; + UNPAIR + /* [ nat : address ] */ ; + VIEW "add" bool + /* [ option bool ] */ ; + IF_SOME + { DROP /* [] */ ; PUSH bool True /* [ bool ] */ } + { PUSH bool False /* [ bool ] */ } ; + NIL operation + /* [ list operation : bool ] */ ; + PAIR + /* [ pair (list operation) bool ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_rec.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_rec.out new file mode 100644 index 000000000000..384f00027610 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_rec.out @@ -0,0 +1,33 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_rec.tz --details +Well typed +Gas remaining: 1039988.440 units remaining +{ parameter unit ; + storage unit ; + view "loop" + address + never + { CAR + /* [ address ] */ ; + DUP + /* [ address : address ] */ ; + VIEW "loop" never + /* [ option never ] */ ; + ASSERT_SOME } ; + code { CDR + /* [ unit ] */ ; + SELF + /* [ contract unit : unit ] */ ; + ADDRESS + /* [ address : unit ] */ ; + DUP + /* [ address : address : unit ] */ ; + VIEW "loop" never + /* [ option never : unit ] */ ; + ASSERT_SOME ; + DROP + /* [ unit ] */ ; + NIL operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_toplevel_lib.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_toplevel_lib.out new file mode 100644 index 000000000000..b3eae4101c95 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-view_toplevel_lib.out @@ -0,0 +1,143 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/view_toplevel_lib.tz --details +Well typed +Gas remaining: 1039947.179 units remaining +{ parameter nat ; + storage nat ; + code { CAR + /* [ nat ] */ ; + NIL operation + /* [ list operation : nat ] */ ; + PAIR + /* [ pair (list operation) nat ] */ } ; + view "add" nat nat { UNPAIR /* [ nat : nat ] */ ; ADD /* [ nat ] */ } ; + view "id" nat (pair nat nat) { /* [ pair nat nat ] */ } ; + view "test_failwith" nat (pair nat nat) { FAILWITH /* [] */ } ; + view "step_constants" + unit + (pair (pair mutez mutez) (pair (pair address address) address)) + { DROP + /* [] */ ; + SOURCE + /* [ address ] */ ; + SENDER + /* [ address : address ] */ ; + SELF_ADDRESS + /* [ address : address : address ] */ ; + PAIR + /* [ pair address address : address ] */ ; + PAIR + /* [ pair (pair address address) address ] */ ; + BALANCE + /* [ mutez : pair (pair address address) address ] */ ; + AMOUNT + /* [ mutez : mutez : pair (pair address address) address ] */ ; + PAIR + /* [ pair mutez mutez : pair (pair address address) address ] */ ; + PAIR + /* [ pair (pair mutez mutez) (pair address address) address ] */ } ; + view "succ" + (pair nat address) + nat + { CAR + /* [ pair nat address ] */ ; + UNPAIR + /* [ nat : address ] */ ; + PUSH nat 1 + /* [ nat : nat : address ] */ ; + ADD + /* [ nat : address ] */ ; + PAIR + /* [ pair nat address ] */ ; + DUP + /* [ pair nat address : pair nat address ] */ ; + CDR + /* [ address : pair nat address ] */ ; + SWAP + /* [ pair nat address : address ] */ ; + VIEW "is_twenty" nat + /* [ option nat ] */ ; + ASSERT_SOME } ; + view "is_twenty" + (pair nat address) + nat + { CAR + /* [ pair nat address ] */ ; + DUP + /* [ pair nat address : pair nat address ] */ ; + CAR + /* [ nat : pair nat address ] */ ; + PUSH nat 20 + /* [ nat : nat : pair nat address ] */ ; + COMPARE + /* [ int : pair nat address ] */ ; + EQ + /* [ bool : pair nat address ] */ ; + IF { CAR /* [ nat ] */ } + { DUP + /* [ pair nat address : pair nat address ] */ ; + CDR + /* [ address : pair nat address ] */ ; + SWAP + /* [ pair nat address : address ] */ ; + VIEW "succ" nat + /* [ option nat ] */ ; + ASSERT_SOME } } ; + view "fib" + nat + nat + { CAR + /* [ nat ] */ ; + DUP + /* [ nat : nat ] */ ; + PUSH nat 0 + /* [ nat : nat : nat ] */ ; + COMPARE + /* [ int : nat ] */ ; + EQ + /* [ bool : nat ] */ ; + IF { /* [ nat ] */ } + { DUP + /* [ nat : nat ] */ ; + PUSH nat 1 + /* [ nat : nat : nat ] */ ; + COMPARE + /* [ int : nat ] */ ; + EQ + /* [ bool : nat ] */ ; + IF { /* [ nat ] */ } + { DUP + /* [ nat : nat ] */ ; + PUSH nat 1 + /* [ nat : nat : nat ] */ ; + SWAP + /* [ nat : nat : nat ] */ ; + SUB + /* [ int : nat ] */ ; + ABS + /* [ nat : nat ] */ ; + SELF_ADDRESS + /* [ address : nat : nat ] */ ; + SWAP + /* [ nat : address : nat ] */ ; + VIEW "fib" nat + /* [ option nat : nat ] */ ; + IF_SOME + { SWAP + /* [ nat : nat ] */ ; + PUSH nat 2 + /* [ nat : nat : nat ] */ ; + SWAP + /* [ nat : nat : nat ] */ ; + SUB + /* [ int : nat ] */ ; + ABS + /* [ nat : nat ] */ ; + SELF_ADDRESS + /* [ address : nat : nat ] */ ; + SWAP + /* [ nat : address : nat ] */ ; + VIEW "fib" nat + /* [ option nat : nat ] */ ; + IF_SOME { ADD /* [ nat ] */ } { FAIL } } + { FAIL } } } } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-voting_power.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-voting_power.out new file mode 100644 index 000000000000..7965c49b0921 --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-voting_power.out @@ -0,0 +1,20 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/voting_power.tz --details +Well typed +Gas remaining: 1039995.193 units remaining +{ parameter key ; + storage (pair nat nat) ; + code { CAR + /* [ key ] */ ; + HASH_KEY + /* [ key_hash ] */ ; + VOTING_POWER + /* [ nat ] */ ; + DIP { TOTAL_VOTING_POWER /* [ nat ] */ } + /* [ nat : nat ] */ ; + PAIR + /* [ pair nat nat ] */ ; + NIL operation + /* [ list operation : pair nat nat ] */ ; + PAIR + /* [ pair (list operation) nat nat ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-xor.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-xor.out new file mode 100644 index 000000000000..dcffd4cb35da --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-xor.out @@ -0,0 +1,17 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/xor.tz --details +Well typed +Gas remaining: 1039992.584 units remaining +{ parameter (or (pair bool bool) (pair nat nat)) ; + storage (option (or bool nat)) ; + code { CAR + /* [ or (pair bool bool) (pair nat nat) ] */ ; + IF_LEFT + { UNPAIR /* [ bool : bool ] */ ; XOR /* [ bool ] */ ; LEFT nat /* [ or bool nat ] */ } + { UNPAIR /* [ nat : nat ] */ ; XOR /* [ nat ] */ ; RIGHT bool /* [ or bool nat ] */ } ; + SOME + /* [ option (or bool nat) ] */ ; + NIL operation + /* [ list operation : option (or bool nat) ] */ ; + PAIR + /* [ pair (list operation) (option (or bool nat)) ] */ } } diff --git a/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-xor_bytes.out b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-xor_bytes.out new file mode 100644 index 000000000000..b358c6190aff --- /dev/null +++ b/tezt/tests/expected/contract_typecheck_regression.ml/Nairobi- Tc opcodes-xor_bytes.out @@ -0,0 +1,41 @@ + +./octez-client --protocol PtNairobi9MxcBmKF7avFwkUohUu9KuxHt3w9cBmJ7ULqPD7cY5 --mode mockup --no-base-dir-warnings typecheck script michelson_test_scripts/opcodes/xor_bytes_016.tz --details +Well typed +Gas remaining: 1039978.916 units remaining +{ parameter unit ; + storage unit ; + code { DROP + /* [] */ ; + PUSH bytes 0x05 + /* [ bytes ] */ ; + PUSH bytes 0x06 + /* [ bytes : bytes ] */ ; + XOR + /* [ bytes ] */ ; + PUSH bytes 0x03 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x0005 + /* [ bytes ] */ ; + PUSH bytes 0x0106 + /* [ bytes : bytes ] */ ; + XOR + /* [ bytes ] */ ; + PUSH bytes 0x0103 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + PUSH bytes 0x05 + /* [ bytes ] */ ; + PUSH bytes 0x0106 + /* [ bytes : bytes ] */ ; + XOR + /* [ bytes ] */ ; + PUSH bytes 0x0103 + /* [ bytes : bytes ] */ ; + ASSERT_CMPEQ ; + UNIT + /* [ unit ] */ ; + NIL @noop operation + /* [ list operation : unit ] */ ; + PAIR + /* [ pair (list operation) unit ] */ } } diff --git a/tezt/tests/expected/create_contract.ml/Nairobi- Create contract.out b/tezt/tests/expected/create_contract.ml/Nairobi- Create contract.out new file mode 100644 index 000000000000..590266bef812 --- /dev/null +++ b/tezt/tests/expected/create_contract.ml/Nairobi- Create contract.out @@ -0,0 +1,109 @@ + +./octez-client --mode mockup --wait none originate contract originate_contract transferring 200 from bootstrap1 running michelson_test_scripts/mini_scenarios/originate_contract.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 599.777 units (will add 100 for safety) +Estimated storage: 350 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000393 + Expected counter: 1 + Gas limit: 700 + Storage limit: 370 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000393 + payload fees(the block proposer) ....... +ꜩ0.000393 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ200 + Script: + { parameter unit ; + storage unit ; + code { DROP ; + UNIT ; + AMOUNT ; + NONE key_hash ; + CREATE_CONTRACT + { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } ; + DIP { DROP ; PUSH unit Unit ; NIL operation } ; + CONS ; + PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 93 bytes + Paid storage size diff: 93 bytes + Consumed gas: 599.743 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.02325 + storage fees ........................... +ꜩ0.02325 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ200 + [CONTRACT_HASH] ... +ꜩ200 + +New contract [CONTRACT_HASH] originated. +Contract memorized as originate_contract. + +./octez-client --mode mockup --wait none transfer 1 from bootstrap2 to '[CONTRACT_HASH]' --burn-cap 2 --arg Unit +Node is bootstrapped. +Estimated gas: 1794.177 units (will add 100 for safety) +Estimated storage: 295 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000441 + Expected counter: 1 + Gas limit: 1895 + Storage limit: 315 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000441 + payload fees(the block proposer) ....... +ꜩ0.000441 + Transaction: + Amount: ꜩ1 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + This transaction was successfully applied + Updated storage: Unit + Storage size: 93 bytes + Consumed gas: 1289.501 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ1 + [CONTRACT_HASH] ... +ꜩ1 + Internal operations: + Internal Origination: + From: [CONTRACT_HASH] + Credit: ꜩ1 + Script: + { parameter unit ; storage unit ; code { CDR ; NIL operation ; PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 38 bytes + Paid storage size diff: 38 bytes + Consumed gas: 505.287 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0095 + storage fees ........................... +ꜩ0.0095 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [CONTRACT_HASH] ... -ꜩ1 + [CONTRACT_HASH] ... +ꜩ1 + +New contract [CONTRACT_HASH] originated. diff --git a/tezt/tests/expected/deposits_limit.ml/Nairobi- set deposits limit.out b/tezt/tests/expected/deposits_limit.ml/Nairobi- set deposits limit.out new file mode 100644 index 000000000000..8ac64a759156 --- /dev/null +++ b/tezt/tests/expected/deposits_limit.ml/Nairobi- set deposits limit.out @@ -0,0 +1,26 @@ +Node is bootstrapped. +Estimated gas: 168.052 units (will add 0 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is 'oogPg9fm3Wo8Fub69ehKvyhmefv442MSvvKME7awo3zvZVAsuTo' +NOT waiting for the operation to be included. +Use command + octez-client wait for oogPg9fm3Wo8Fub69ehKvyhmefv442MSvvKME7awo3zvZVAsuTo to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisf79b5d1CoW2 +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Fee to the baker: ꜩ0.000247 + Expected counter: 1 + Gas limit: 169 + Storage limit: 0 bytes + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.000247 + payload fees(the block proposer) ....... +ꜩ0.000247 + Set deposits limit: + Delegate: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Limit: 1000 + This deposits limit modification was successfully applied + Consumed gas: 167.986 + + diff --git a/tezt/tests/expected/deposits_limit.ml/Nairobi- unset deposits limit.out b/tezt/tests/expected/deposits_limit.ml/Nairobi- unset deposits limit.out new file mode 100644 index 000000000000..fc4436f54195 --- /dev/null +++ b/tezt/tests/expected/deposits_limit.ml/Nairobi- unset deposits limit.out @@ -0,0 +1,26 @@ +Node is bootstrapped. +Estimated gas: 167.886 units (will add 0 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is 'oo1PJ41t8u2VYdoeFVgREH9LKKtASE141H3wWRmKRbuBcshW3hR' +NOT waiting for the operation to be included. +Use command + octez-client wait for oo1PJ41t8u2VYdoeFVgREH9LKKtASE141H3wWRmKRbuBcshW3hR to be included --confirmations 1 --branch BLockGenesisGenesisGenesisGenesisGenesisf79b5d1CoW2 +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Fee to the baker: ꜩ0.000242 + Expected counter: 1 + Gas limit: 168 + Storage limit: 0 bytes + Balance updates: + tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx ... -ꜩ0.000242 + payload fees(the block proposer) ....... +ꜩ0.000242 + Set deposits limit: + Delegate: tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx + Unlimited deposits + This deposits limit modification was successfully applied + Consumed gas: 167.820 + + diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.out new file mode 100644 index 000000000000..2b2c0ebb5c9d --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.out @@ -0,0 +1,35 @@ + +./octez-codec encode 017-PtNairob.block_header from '{ + "level": 1331, + "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", + "validation_pass": 2, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ + "01", + "000000000000000a" + ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "proof_of_work_nonce": "101895ca00000000", + "seed_nonce_hash": "nceUFoeQDgkJCmzdMWh19ZjBYqQD3N9fe6bXQ1ZsUKKvMn7iun5Z3", + "liquidity_baking_toggle_vote": "off", + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ", + "payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0 +}' +00000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00242e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000ff043691f53c02ca1ac6f1a0c1586bf77973e04c2d9b618a8309e79651daf0d5580166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.block_header from 00000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00242e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000ff043691f53c02ca1ac6f1a0c1586bf77973e04c2d9b618a8309e79651daf0d5580166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "level": 1331, "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", "validation_pass": 2, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ "01", "000000000000000a" ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0, "proof_of_work_nonce": "101895ca00000000", + "seed_nonce_hash": "nceUFoeQDgkJCmzdMWh19ZjBYqQD3N9fe6bXQ1ZsUKKvMn7iun5Z3", + "liquidity_baking_toggle_vote": "off", + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.raw.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.raw.out new file mode 100644 index 000000000000..d006f9c33b39 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.raw.out @@ -0,0 +1,26 @@ + +./octez-codec encode 017-PtNairob.block_header.raw from '{ + "level": 1331, + "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", + "validation_pass": 2, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ + "01", + "000000000000000a" + ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "protocol_data": "521d101895ca00000000ff043691f53c02ca1ac6f1a0c1586bf77973e04c2d9b618a8309e79651daf0d55866804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c" +}' +00000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00242e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c521d101895ca00000000ff043691f53c02ca1ac6f1a0c1586bf77973e04c2d9b618a8309e79651daf0d55866804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.block_header.raw from 00000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00242e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c521d101895ca00000000ff043691f53c02ca1ac6f1a0c1586bf77973e04c2d9b618a8309e79651daf0d55866804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "level": 1331, "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", "validation_pass": 2, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ "01", "000000000000000a" ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "protocol_data": + "521d101895ca00000000ff043691f53c02ca1ac6f1a0c1586bf77973e04c2d9b618a8309e79651daf0d55866804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c" } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.unsigned.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.unsigned.out new file mode 100644 index 000000000000..d5780fc512f8 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- block_header.unsigned.out @@ -0,0 +1,32 @@ + +./octez-codec encode 017-PtNairob.block_header.unsigned from '{ + "level": 1331, + "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", + "validation_pass": 2, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ + "01", + "000000000000000a" + ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "proof_of_work_nonce": "101895ca00000000", + "seed_nonce_hash": "nceUFoeQDgkJCmzdMWh19ZjBYqQD3N9fe6bXQ1ZsUKKvMn7iun5Z3", + "liquidity_baking_toggle_vote": "off", + "payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0 +}' +00000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00242e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000ff043691f53c02ca1ac6f1a0c1586bf77973e04c2d9b618a8309e79651daf0d55801 + +./octez-codec decode 017-PtNairob.block_header.unsigned from 00000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00242e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000ff043691f53c02ca1ac6f1a0c1586bf77973e04c2d9b618a8309e79651daf0d55801 +{ "level": 1331, "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", "validation_pass": 2, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ "01", "000000000000000a" ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0, "proof_of_work_nonce": "101895ca00000000", + "seed_nonce_hash": "nceUFoeQDgkJCmzdMWh19ZjBYqQD3N9fe6bXQ1ZsUKKvMn7iun5Z3", + "liquidity_baking_toggle_vote": "off" } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- contract.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- contract.out new file mode 100644 index 000000000000..53bdc6514f40 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- contract.out @@ -0,0 +1,12 @@ + +./octez-codec encode 017-PtNairob.contract from '"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"' +000002298c03ed7d454a101eb7022bc95f7e5f41ac78 + +./octez-codec decode 017-PtNairob.contract from 000002298c03ed7d454a101eb7022bc95f7e5f41ac78 +"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + +./octez-codec encode 017-PtNairob.contract from '"KT1DieU51jzXLerQx5AqMCiLC1SsCeM8yRat"' +0138560805b4c8d7b7fbbafad5c59dbfa3878ca70500 + +./octez-codec decode 017-PtNairob.contract from 0138560805b4c8d7b7fbbafad5c59dbfa3878ca70500 +"KT1DieU51jzXLerQx5AqMCiLC1SsCeM8yRat" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- cycle.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- cycle.out new file mode 100644 index 000000000000..0663373678e2 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- cycle.out @@ -0,0 +1,12 @@ + +./octez-codec encode 017-PtNairob.cycle from 2147483647 +7fffffff + +./octez-codec decode 017-PtNairob.cycle from 7fffffff +2147483647 + +./octez-codec encode 017-PtNairob.cycle from 0 +00000000 + +./octez-codec decode 017-PtNairob.cycle from 00000000 +0 diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- fitness.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- fitness.out new file mode 100644 index 000000000000..450f294a1fb0 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- fitness.out @@ -0,0 +1,11 @@ + +./octez-codec encode 017-PtNairob.fitness from '{ + "level": 1, + "locked_round": 1, + "predecessor_round": 1, + "round": 2 +}' +0000000101000000010000000100000002 + +./octez-codec decode 017-PtNairob.fitness from 0000000101000000010000000100000002 +{ "level": 1, "locked_round": 1, "predecessor_round": 1, "round": 2 } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- gas.cost.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- gas.cost.out new file mode 100644 index 000000000000..298fed802566 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- gas.cost.out @@ -0,0 +1,12 @@ + +./octez-codec encode 017-PtNairob.gas.cost from '"8920392083423078"' +a6fd9d9694c3d81f + +./octez-codec decode 017-PtNairob.gas.cost from a6fd9d9694c3d81f +"8920392083423078" + +./octez-codec encode 017-PtNairob.gas.cost from '"0"' +00 + +./octez-codec decode 017-PtNairob.gas.cost from 00 +"0" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- gas.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- gas.out new file mode 100644 index 000000000000..3f5ab75a6222 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- gas.out @@ -0,0 +1,18 @@ + +./octez-codec encode 017-PtNairob.gas from '"1238"' +009613 + +./octez-codec decode 017-PtNairob.gas from 009613 +"1238" + +./octez-codec encode 017-PtNairob.gas from '"unaccounted"' +01 + +./octez-codec decode 017-PtNairob.gas from 01 +"unaccounted" + +./octez-codec encode 017-PtNairob.gas from '"0"' +0000 + +./octez-codec decode 017-PtNairob.gas from 0000 +"0" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- level.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- level.out new file mode 100644 index 000000000000..a658e30128ea --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- level.out @@ -0,0 +1,13 @@ + +./octez-codec encode 017-PtNairob.level from '{ + "level": 1331, + "level_position": 2147483647, + "cycle": 300, + "cycle_position": 600, + "expected_commitment": true +}' +000005337fffffff0000012c00000258ff + +./octez-codec decode 017-PtNairob.level from 000005337fffffff0000012c00000258ff +{ "level": 1331, "level_position": 2147483647, "cycle": 300, + "cycle_position": 600, "expected_commitment": true } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- nonce.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- nonce.out new file mode 100644 index 000000000000..6c0b4d53e535 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- nonce.out @@ -0,0 +1,6 @@ + +./octez-codec encode 017-PtNairob.nonce from '"0000000000000000000000000000000000000000000000000000000000000000"' +0000000000000000000000000000000000000000000000000000000000000000 + +./octez-codec decode 017-PtNairob.nonce from 0000000000000000000000000000000000000000000000000000000000000000 +"0000000000000000000000000000000000000000000000000000000000000000" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.internal.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.internal.out new file mode 100644 index 000000000000..6f8d9631fa35 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.internal.out @@ -0,0 +1,140 @@ + +./octez-codec encode 017-PtNairob.operation.internal from '{ + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "nonce": 0, + "kind": "delegation" +}' +000002298c03ed7d454a101eb7022bc95f7e5f41ac7800000300 + +./octez-codec decode 017-PtNairob.operation.internal from 000002298c03ed7d454a101eb7022bc95f7e5f41ac7800000300 +{ "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "nonce": 0, + "kind": "delegation" } + +./octez-codec encode 017-PtNairob.operation.internal from '{ + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "nonce": 0, + "kind": "delegation", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" +}' +000002298c03ed7d454a101eb7022bc95f7e5f41ac78000003ff0002298c03ed7d454a101eb7022bc95f7e5f41ac78 + +./octez-codec decode 017-PtNairob.operation.internal from 000002298c03ed7d454a101eb7022bc95f7e5f41ac78000003ff0002298c03ed7d454a101eb7022bc95f7e5f41ac78 +{ "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "nonce": 0, + "kind": "delegation", "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" } + +./octez-codec encode 017-PtNairob.operation.internal from '{ + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "nonce": 0, + "kind": "origination", + "balance": "84143", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "script": { + "code": [ + { + "prim": "parameter", + "args": [ + { + "prim": "string" + } + ] + }, + { + "prim": "storage", + "args": [ + { + "prim": "option", + "args": [ + { + "prim": "string" + } + ] + } + ] + }, + { + "prim": "code", + "args": [ + [ + { + "prim": "CAR" + }, + { + "prim": "SOME" + }, + { + "prim": "NIL", + "args": [ + { + "prim": "operation" + } + ] + }, + { + "prim": "PAIR" + } + ] + ] + } + ], + "storage": [ + { + "string": "test" + } + ] + } +}' +000002298c03ed7d454a101eb7022bc95f7e5f41ac78000002af9105ff0002298c03ed7d454a101eb7022bc95f7e5f41ac7800000020020000001b050003680501056303680502020000000a03160346053d036d03420000000e0200000009010000000474657374 + +./octez-codec decode 017-PtNairob.operation.internal from 000002298c03ed7d454a101eb7022bc95f7e5f41ac78000002af9105ff0002298c03ed7d454a101eb7022bc95f7e5f41ac7800000020020000001b050003680501056303680502020000000a03160346053d036d03420000000e0200000009010000000474657374 +{ "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "nonce": 0, + "kind": "origination", "balance": "84143", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "script": + { "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": [ { "string": "test" } ] } } + +./octez-codec encode 017-PtNairob.operation.internal from '{ + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "nonce": 3, + "kind": "transaction", + "amount": "407", + "destination": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" +}' +000002298c03ed7d454a101eb7022bc95f7e5f41ac780003019703000002298c03ed7d454a101eb7022bc95f7e5f41ac7800 + +./octez-codec decode 017-PtNairob.operation.internal from 000002298c03ed7d454a101eb7022bc95f7e5f41ac780003019703000002298c03ed7d454a101eb7022bc95f7e5f41ac7800 +{ "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "nonce": 3, + "kind": "transaction", "amount": "407", + "destination": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" } + +./octez-codec encode 017-PtNairob.operation.internal from '{ + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "nonce": 0, + "kind": "transaction", + "amount": "407", + "destination": "KT1DieU51jzXLerQx5AqMCiLC1SsCeM8yRat", + "parameters": { + "entrypoint": "action", + "value": [ + { + "prim": "UNIT" + } + ] + } +}' +000002298c03ed7d454a101eb7022bc95f7e5f41ac7800000197030138560805b4c8d7b7fbbafad5c59dbfa3878ca70500ffff06616374696f6e000000070200000002034f + +./octez-codec decode 017-PtNairob.operation.internal from 000002298c03ed7d454a101eb7022bc95f7e5f41ac7800000197030138560805b4c8d7b7fbbafad5c59dbfa3878ca70500ffff06616374696f6e000000070200000002034f +{ "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "nonce": 0, + "kind": "transaction", "amount": "407", + "destination": "KT1DieU51jzXLerQx5AqMCiLC1SsCeM8yRat", + "parameters": { "entrypoint": "action", "value": [ { "prim": "UNIT" } ] } } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.out new file mode 100644 index 000000000000..2b57787d1178 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.out @@ -0,0 +1,531 @@ + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "activate_account", + "pkh": "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv", + "secret": "41f98b15efc63fa893d61d7d6eee4a2ce9427ac4" + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a804c55cf02dbeecc978d9c84625dcae72bb77ea4fbd41f98b15efc63fa893d61d7d6eee4a2ce9427ac466804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a804c55cf02dbeecc978d9c84625dcae72bb77ea4fbd41f98b15efc63fa893d61d7d6eee4a2ce9427ac466804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "activate_account", + "pkh": "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv", + "secret": "41f98b15efc63fa893d61d7d6eee4a2ce9427ac4" } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "ballot", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "period": 719, + "proposal": "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp", + "ballot": "yay" + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8060002298c03ed7d454a101eb7022bc95f7e5f41ac78000002cf7663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c0066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8060002298c03ed7d454a101eb7022bc95f7e5f41ac78000002cf7663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c0066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "ballot", "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "period": 719, + "proposal": "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp", + "ballot": "yay" } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "delegation", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117" + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86e0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d4010066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86e0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d4010066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "delegation", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117" } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "delegation", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86e0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401ff0002298c03ed7d454a101eb7022bc95f7e5f41ac7866804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86e0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401ff0002298c03ed7d454a101eb7022bc95f7e5f41ac7866804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "delegation", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "double_baking_evidence", + "bh1": { + "level": 1331, + "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", + "validation_pass": 4, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ + "01", + "000000000000000a" + ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "proof_of_work_nonce": "101895ca00000000", + "liquidity_baking_toggle_vote": "off", + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ", + "payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0 + }, + "bh2": { + "level": 1331, + "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", + "validation_pass": 4, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ + "01", + "000000000000000a" + ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "proof_of_work_nonce": "101895ca00000000", + "liquidity_baking_toggle_vote": "off", + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ", + "payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0 + } + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a803000000f100000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00442e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000000166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c000000f100000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00442e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000000166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a803000000f100000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00442e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000000166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c000000f100000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00442e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000000166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "double_baking_evidence", + "bh1": + { "level": 1331, "proto": 1, + "predecessor": + "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", "validation_pass": 4, + "operations_hash": + "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ "01", "000000000000000a" ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0, "proof_of_work_nonce": "101895ca00000000", + "liquidity_baking_toggle_vote": "off", + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" }, + "bh2": + { "level": 1331, "proto": 1, + "predecessor": + "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", "validation_pass": 4, + "operations_hash": + "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ "01", "000000000000000a" ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0, "proof_of_work_nonce": "101895ca00000000", + "liquidity_baking_toggle_vote": "off", + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "double_endorsement_evidence", + "op1": { + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "operations": { + "kind": "endorsement", + "level": 1331, + "block_payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "round": 0, + "slot": 0 + }, + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" + }, + "op2": { + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "operations": { + "kind": "endorsement", + "level": 1331, + "block_payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "round": 0, + "slot": 0 + }, + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" + } + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8020000008b0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c0000008b0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8020000008b0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c0000008b0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "double_endorsement_evidence", + "op1": + { "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "operations": + { "kind": "endorsement", "slot": 0, "level": 1331, "round": 0, + "block_payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG" }, + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" }, + "op2": + { "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "operations": + { "kind": "endorsement", "slot": 0, "level": 1331, "round": 0, + "block_payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG" }, + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "endorsement", + "level": 1331, + "block_payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "round": 0, + "slot": 0 + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "endorsement", "slot": 0, "level": 1331, "round": 0, + "block_payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG" } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "endorsement", + "level": 1331, + "block_payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "round": 0, + "slot": 0 + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "endorsement", "slot": 0, "level": 1331, "round": 0, + "block_payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG" } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "origination", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "balance": "84143", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "script": { + "code": [ + { + "prim": "parameter", + "args": [ + { + "prim": "string" + } + ] + }, + { + "prim": "storage", + "args": [ + { + "prim": "option", + "args": [ + { + "prim": "string" + } + ] + } + ] + }, + { + "prim": "code", + "args": [ + [ + { + "prim": "CAR" + }, + { + "prim": "SOME" + }, + { + "prim": "NIL", + "args": [ + { + "prim": "operation" + } + ] + }, + { + "prim": "PAIR" + } + ] + ] + } + ], + "storage": [ + { + "string": "test" + } + ] + } + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86d0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401af9105ff0002298c03ed7d454a101eb7022bc95f7e5f41ac7800000020020000001b050003680501056303680502020000000a03160346053d036d03420000000e020000000901000000047465737466804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86d0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401af9105ff0002298c03ed7d454a101eb7022bc95f7e5f41ac7800000020020000001b050003680501056303680502020000000a03160346053d036d03420000000e020000000901000000047465737466804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "origination", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", "balance": "84143", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "script": + { "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": [ { "string": "test" } ] } } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "proposals", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "period": 719, + "proposals": [ + "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp", + "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp" + ] + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8050002298c03ed7d454a101eb7022bc95f7e5f41ac78000002cf000000407663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c7663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8050002298c03ed7d454a101eb7022bc95f7e5f41ac78000002cf000000407663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c7663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "proposals", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "period": 719, + "proposals": + [ "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp", + "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp" ] } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "reveal", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "public_key": "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86b0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86b0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "reveal", "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", + "public_key": + "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "seed_nonce_revelation", + "level": 1331, + "nonce": "0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a80100000533000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a80100000533000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "seed_nonce_revelation", "level": 1331, + "nonce": + "0000000000000000000000000000000000000000000000000000000000000000" } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "transaction", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "amount": "407", + "destination": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86c0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d4019703000002298c03ed7d454a101eb7022bc95f7e5f41ac780066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86c0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d4019703000002298c03ed7d454a101eb7022bc95f7e5f41ac780066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "transaction", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", "amount": "407", + "destination": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } + +./octez-codec encode 017-PtNairob.operation from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "transaction", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "amount": "407", + "destination": "KT1DieU51jzXLerQx5AqMCiLC1SsCeM8yRat", + "parameters": { + "entrypoint": "action", + "value": [ + { + "prim": "UNIT" + } + ] + } + } + ], + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86c0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d40197030138560805b4c8d7b7fbbafad5c59dbfa3878ca70500ffff06616374696f6e000000070200000002034f66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86c0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d40197030138560805b4c8d7b7fbbafad5c59dbfa3878ca70500ffff06616374696f6e000000070200000002034f66804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "transaction", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", "amount": "407", + "destination": "KT1DieU51jzXLerQx5AqMCiLC1SsCeM8yRat", + "parameters": + { "entrypoint": "action", "value": [ { "prim": "UNIT" } ] } } ], + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.raw.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.raw.out new file mode 100644 index 000000000000..4b45a3d49709 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.raw.out @@ -0,0 +1,11 @@ + +./octez-codec encode 017-PtNairob.operation.raw from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "data": "000000053366804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c" +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000053366804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation.raw from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000053366804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "data": + "000000053366804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c" } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.unsigned.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.unsigned.out new file mode 100644 index 000000000000..400c143d9054 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- operation.unsigned.out @@ -0,0 +1,468 @@ + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "activate_account", + "pkh": "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv", + "secret": "41f98b15efc63fa893d61d7d6eee4a2ce9427ac4" + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a804c55cf02dbeecc978d9c84625dcae72bb77ea4fbd41f98b15efc63fa893d61d7d6eee4a2ce9427ac4 + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a804c55cf02dbeecc978d9c84625dcae72bb77ea4fbd41f98b15efc63fa893d61d7d6eee4a2ce9427ac4 +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "activate_account", + "pkh": "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv", + "secret": "41f98b15efc63fa893d61d7d6eee4a2ce9427ac4" } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "ballot", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "period": 719, + "proposal": "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp", + "ballot": "yay" + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8060002298c03ed7d454a101eb7022bc95f7e5f41ac78000002cf7663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c00 + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8060002298c03ed7d454a101eb7022bc95f7e5f41ac78000002cf7663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c00 +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "ballot", "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "period": 719, + "proposal": "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp", + "ballot": "yay" } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "delegation", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117" + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86e0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d40100 + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86e0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d40100 +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "delegation", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117" } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "delegation", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86e0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401ff0002298c03ed7d454a101eb7022bc95f7e5f41ac78 + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86e0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401ff0002298c03ed7d454a101eb7022bc95f7e5f41ac78 +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "delegation", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "double_baking_evidence", + "bh1": { + "level": 1331, + "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", + "validation_pass": 4, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ + "01", + "000000000000000a" + ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "proof_of_work_nonce": "101895ca00000000", + "liquidity_baking_toggle_vote": "off", + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ", + "payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0 + }, + "bh2": { + "level": 1331, + "proto": 1, + "predecessor": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", + "validation_pass": 4, + "operations_hash": "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ + "01", + "000000000000000a" + ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "proof_of_work_nonce": "101895ca00000000", + "liquidity_baking_toggle_vote": "off", + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ", + "payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0 + } + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a803000000f100000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00442e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000000166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c000000f100000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00442e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000000166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a803000000f100000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00442e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000000166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c000000f100000533010e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8000000005e9dcbb00442e9bc4583d4f9fa6ba422733f45d3a44397141a953d2237bf8df62e5046eef700000011000000010100000008000000000000000a4c7319284b55068bb7c4e0b9f8585729db7fb27ab4ca9cff2038a1fc324f650c000000000000000000000000000000000000000000000000000000000000000000000000101895ca00000000000166804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "double_baking_evidence", + "bh1": + { "level": 1331, "proto": 1, + "predecessor": + "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", "validation_pass": 4, + "operations_hash": + "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ "01", "000000000000000a" ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0, "proof_of_work_nonce": "101895ca00000000", + "liquidity_baking_toggle_vote": "off", + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" }, + "bh2": + { "level": 1331, "proto": 1, + "predecessor": + "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "timestamp": "2020-04-20T16:20:00Z", "validation_pass": 4, + "operations_hash": + "LLoZqBDX1E2ADRXbmwYo8VtMNeHG6Ygzmm4Zqv97i91UPBQHy9Vq3", + "fitness": [ "01", "000000000000000a" ], + "context": "CoVDyf9y9gHfAkPWofBJffo4X4bWjmehH2LeVonDcCKKzyQYwqdk", + "payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "payload_round": 0, "proof_of_work_nonce": "101895ca00000000", + "liquidity_baking_toggle_vote": "off", + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "double_endorsement_evidence", + "op1": { + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "operations": { + "kind": "endorsement", + "level": 1331, + "block_payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "round": 0, + "slot": 0 + }, + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" + }, + "op2": { + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "operations": { + "kind": "endorsement", + "level": 1331, + "block_payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "round": 0, + "slot": 0 + }, + "signature": "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" + } + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8020000008b0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c0000008b0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8020000008b0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c0000008b0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a81500000000053300000000000000000000000000000000000000000000000000000000000000000000000066804fe735e06e97e26da8236b6341b91c625d5e82b3524ec0a88cc982365e70f8a5b9bc65df2ea6d21ee244cc3a96fb33031c394c78b1179ff1b8a44237740c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "double_endorsement_evidence", + "op1": + { "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "operations": + { "kind": "endorsement", "slot": 0, "level": 1331, "round": 0, + "block_payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG" }, + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" }, + "op2": + { "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "operations": + { "kind": "endorsement", "slot": 0, "level": 1331, "round": 0, + "block_payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG" }, + "signature": + "sigbQ5ZNvkjvGssJgoAnUAfY4Wvvg3QZqawBYB1j1VDBNTMBAALnCzRHWzer34bnfmzgHg3EvwdzQKdxgSghB897cono6gbQ" } } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "endorsement", + "level": 1331, + "block_payload_hash": "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG", + "round": 0, + "slot": 0 + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a815000000000533000000000000000000000000000000000000000000000000000000000000000000000000 + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a815000000000533000000000000000000000000000000000000000000000000000000000000000000000000 +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "endorsement", "slot": 0, "level": 1331, "round": 0, + "block_payload_hash": + "vh1g87ZG6scSYxKhspAUzprQVuLAyoa5qMBKcUfjgnQGnFb3dJcG" } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "origination", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "balance": "84143", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "script": { + "code": [ + { + "prim": "parameter", + "args": [ + { + "prim": "string" + } + ] + }, + { + "prim": "storage", + "args": [ + { + "prim": "option", + "args": [ + { + "prim": "string" + } + ] + } + ] + }, + { + "prim": "code", + "args": [ + [ + { + "prim": "CAR" + }, + { + "prim": "SOME" + }, + { + "prim": "NIL", + "args": [ + { + "prim": "operation" + } + ] + }, + { + "prim": "PAIR" + } + ] + ] + } + ], + "storage": [ + { + "string": "test" + } + ] + } + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86d0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401af9105ff0002298c03ed7d454a101eb7022bc95f7e5f41ac7800000020020000001b050003680501056303680502020000000a03160346053d036d03420000000e0200000009010000000474657374 + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86d0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401af9105ff0002298c03ed7d454a101eb7022bc95f7e5f41ac7800000020020000001b050003680501056303680502020000000a03160346053d036d03420000000e0200000009010000000474657374 +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "origination", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", "balance": "84143", + "delegate": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "script": + { "code": + [ { "prim": "parameter", "args": [ { "prim": "string" } ] }, + { "prim": "storage", + "args": + [ { "prim": "option", "args": [ { "prim": "string" } ] } ] }, + { "prim": "code", + "args": + [ [ { "prim": "CAR" }, { "prim": "SOME" }, + { "prim": "NIL", + "args": [ { "prim": "operation" } ] }, + { "prim": "PAIR" } ] ] } ], + "storage": [ { "string": "test" } ] } } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "proposals", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "period": 719, + "proposals": [ + "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp", + "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp" + ] + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8050002298c03ed7d454a101eb7022bc95f7e5f41ac78000002cf000000407663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c7663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8050002298c03ed7d454a101eb7022bc95f7e5f41ac78000002cf000000407663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c7663cf120f3dc8189d5dc7d4d7a0483bcc53f3f18e700f5a2f5076aa8b9dc55c +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "proposals", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "period": 719, + "proposals": + [ "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp", + "PscqRYywd243M2eZspXZEJGsRmNchp4ZKfKmoyEZTRHeLQvVGjp" ] } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "reveal", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "public_key": "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86b0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86b0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d401004798d2cc98473d7e250c898885718afd2e4efbcb1a1595ab9730761ed830de0f +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "reveal", "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", + "public_key": + "edpkuBknW28nW72KG6RoHtYW7p12T6GKc7nAbwYX5m8Wd9sDVC9yav" } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "seed_nonce_revelation", + "level": 1331, + "nonce": "0000000000000000000000000000000000000000000000000000000000000000" + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a801000005330000000000000000000000000000000000000000000000000000000000000000 + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a801000005330000000000000000000000000000000000000000000000000000000000000000 +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "seed_nonce_revelation", "level": 1331, + "nonce": + "0000000000000000000000000000000000000000000000000000000000000000" } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "transaction", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "amount": "407", + "destination": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86c0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d4019703000002298c03ed7d454a101eb7022bc95f7e5f41ac7800 + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86c0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d4019703000002298c03ed7d454a101eb7022bc95f7e5f41ac7800 +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "transaction", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", "amount": "407", + "destination": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" } ] } + +./octez-codec encode 017-PtNairob.operation.unsigned from '{ + "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": [ + { + "kind": "transaction", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "fee": "33", + "counter": "732", + "gas_limit": "9451117", + "storage_limit": "57024931117", + "amount": "407", + "destination": "KT1DieU51jzXLerQx5AqMCiLC1SsCeM8yRat", + "parameters": { + "entrypoint": "action", + "value": [ + { + "prim": "UNIT" + } + ] + } + } + ] +}' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86c0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d40197030138560805b4c8d7b7fbbafad5c59dbfa3878ca70500ffff06616374696f6e000000070200000002034f + +./octez-codec decode 017-PtNairob.operation.unsigned from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a86c0002298c03ed7d454a101eb7022bc95f7e5f41ac7821dc05edecc004adcacdb7d40197030138560805b4c8d7b7fbbafad5c59dbfa3878ca70500ffff06616374696f6e000000070200000002034f +{ "branch": "BKpbfCvh777DQHnXjU2sqHvVUNZ7dBAdqEfKkdw8EGSkD9LSYXb", + "contents": + [ { "kind": "transaction", + "source": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "fee": "33", + "counter": "732", "gas_limit": "9451117", + "storage_limit": "57024931117", "amount": "407", + "destination": "KT1DieU51jzXLerQx5AqMCiLC1SsCeM8yRat", + "parameters": + { "entrypoint": "action", "value": [ { "prim": "UNIT" } ] } } ] } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- period.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- period.out new file mode 100644 index 000000000000..c7ba464d6439 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- period.out @@ -0,0 +1,12 @@ + +./octez-codec encode 017-PtNairob.period from '"2789"' +0000000000000ae5 + +./octez-codec decode 017-PtNairob.period from 0000000000000ae5 +"2789" + +./octez-codec encode 017-PtNairob.period from '"0"' +0000000000000000 + +./octez-codec decode 017-PtNairob.period from 0000000000000000 +"0" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- raw_level.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- raw_level.out new file mode 100644 index 000000000000..e825ef9ce628 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- raw_level.out @@ -0,0 +1,12 @@ + +./octez-codec encode 017-PtNairob.raw_level from 2147483647 +7fffffff + +./octez-codec decode 017-PtNairob.raw_level from 7fffffff +2147483647 + +./octez-codec encode 017-PtNairob.raw_level from 0 +00000000 + +./octez-codec decode 017-PtNairob.raw_level from 00000000 +0 diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- seed.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- seed.out new file mode 100644 index 000000000000..96770f3ed7d4 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- seed.out @@ -0,0 +1,6 @@ + +./octez-codec encode 017-PtNairob.seed from '"0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8"' +0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8 + +./octez-codec decode 017-PtNairob.seed from 0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8 +"0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- tez.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- tez.out new file mode 100644 index 000000000000..1872c53a989b --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- tez.out @@ -0,0 +1,12 @@ + +./octez-codec encode 017-PtNairob.tez from '"7322135"' +97f4be03 + +./octez-codec decode 017-PtNairob.tez from 97f4be03 +"7322135" + +./octez-codec encode 017-PtNairob.tez from '"0"' +00 + +./octez-codec decode 017-PtNairob.tez from 00 +"0" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- timestamp.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- timestamp.out new file mode 100644 index 000000000000..0c95a7ab6748 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- timestamp.out @@ -0,0 +1,6 @@ + +./octez-codec encode 017-PtNairob.timestamp from '"2020-04-20T16:19:59Z"' +000000005e9dcbaf + +./octez-codec decode 017-PtNairob.timestamp from 000000005e9dcbaf +"2020-04-20T16:19:59Z" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.ballot.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.ballot.out new file mode 100644 index 000000000000..c670a6a66259 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.ballot.out @@ -0,0 +1,18 @@ + +./octez-codec encode 017-PtNairob.vote.ballot from '"nay"' +01 + +./octez-codec decode 017-PtNairob.vote.ballot from 01 +"nay" + +./octez-codec encode 017-PtNairob.vote.ballot from '"pass"' +02 + +./octez-codec decode 017-PtNairob.vote.ballot from 02 +"pass" + +./octez-codec encode 017-PtNairob.vote.ballot from '"yay"' +00 + +./octez-codec decode 017-PtNairob.vote.ballot from 00 +"yay" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.ballots.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.ballots.out new file mode 100644 index 000000000000..5445508e6080 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.ballots.out @@ -0,0 +1,10 @@ + +./octez-codec encode 017-PtNairob.vote.ballots from '{ + "yay": "2147483647", + "nay": "0", + "pass": "455" +}' +000000007fffffff000000000000000000000000000001c7 + +./octez-codec decode 017-PtNairob.vote.ballots from 000000007fffffff000000000000000000000000000001c7 +{ "yay": "2147483647", "nay": "0", "pass": "455" } diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.listings.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.listings.out new file mode 100644 index 000000000000..d4944c50e4b2 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- vote.listings.out @@ -0,0 +1,16 @@ + +./octez-codec encode 017-PtNairob.vote.listings from '[ + { + "pkh": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", + "voting_power": "20115" + }, + { + "pkh": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", + "voting_power": "9000" + } +]' +0000003a0002298c03ed7d454a101eb7022bc95f7e5f41ac780000000000004e9300e7670f32038107a59a2b9cfefae36ea21f5aa63c0000000000002328 + +./octez-codec decode 017-PtNairob.vote.listings from 0000003a0002298c03ed7d454a101eb7022bc95f7e5f41ac780000000000004e9300e7670f32038107a59a2b9cfefae36ea21f5aa63c0000000000002328 +[ { "pkh": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx", "voting_power": "20115" }, + { "pkh": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN", "voting_power": "9000" } ] diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- voting_period.kind.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- voting_period.kind.out new file mode 100644 index 000000000000..b07c8c35d492 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- voting_period.kind.out @@ -0,0 +1,24 @@ + +./octez-codec encode 017-PtNairob.voting_period.kind from '"promotion"' +03 + +./octez-codec decode 017-PtNairob.voting_period.kind from 03 +"promotion" + +./octez-codec encode 017-PtNairob.voting_period.kind from '"proposal"' +00 + +./octez-codec decode 017-PtNairob.voting_period.kind from 00 +"proposal" + +./octez-codec encode 017-PtNairob.voting_period.kind from '"exploration"' +01 + +./octez-codec decode 017-PtNairob.voting_period.kind from 01 +"exploration" + +./octez-codec encode 017-PtNairob.voting_period.kind from '"cooldown"' +02 + +./octez-codec decode 017-PtNairob.voting_period.kind from 02 +"cooldown" diff --git a/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- voting_period.out b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- voting_period.out new file mode 100644 index 000000000000..7acdb3c2a058 --- /dev/null +++ b/tezt/tests/expected/encoding.ml/Nairobi- protocol encoding regression test- voting_period.out @@ -0,0 +1,20 @@ + +./octez-codec encode 017-PtNairob.voting_period from '{ + "start_position": 1159026, + "kind": "proposal", + "index": 0 +}' +00000000000011af72 + +./octez-codec decode 017-PtNairob.voting_period from 00000000000011af72 +{ "index": 0, "kind": "proposal", "start_position": 1159026 } + +./octez-codec encode 017-PtNairob.voting_period from '{ + "start_position": 0, + "kind": "proposal", + "index": 0 +}' +000000000000000000 + +./octez-codec decode 017-PtNairob.voting_period from 000000000000000000 +{ "index": 0, "kind": "proposal", "start_position": 0 } diff --git a/tezt/tests/expected/normalize.ml/Nairobi- Test Michelson stack normalization.out b/tezt/tests/expected/normalize.ml/Nairobi- Test Michelson stack normalization.out new file mode 100644 index 000000000000..f589e253f3f7 --- /dev/null +++ b/tezt/tests/expected/normalize.ml/Nairobi- Test Michelson stack normalization.out @@ -0,0 +1,468 @@ + +./octez-client --mode mockup normalize stack '{}' +{} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)}' +{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10)))}' +{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10)} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat (pair nat nat)) {2; 5; 8; 11}}' +{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10); Stack_elt (pair nat nat nat nat) (Pair 2 5 8 11)} + +./octez-client --mode mockup normalize stack '{}' --unparsing-mode Readable +{} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)}' --unparsing-mode Readable +{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10)))}' --unparsing-mode Readable +{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10)} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat (pair nat nat)) {2; 5; 8; 11}}' --unparsing-mode Readable +{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat nat nat nat) (Pair 1 4 7 10); Stack_elt (pair nat nat nat nat) (Pair 2 5 8 11)} + +./octez-client --mode mockup normalize stack '{}' --unparsing-mode Optimized +{} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)}' --unparsing-mode Optimized +{Stack_elt (pair nat nat nat nat) { 0 ; 3 ; 6 ; 9 }} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10)))}' --unparsing-mode Optimized +{Stack_elt (pair nat nat nat nat) { 0 ; 3 ; 6 ; 9 }; Stack_elt (pair nat nat nat nat) { 1 ; 4 ; 7 ; 10 }} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat (pair nat nat)) {2; 5; 8; 11}}' --unparsing-mode Optimized +{Stack_elt (pair nat nat nat nat) { 0 ; 3 ; 6 ; 9 }; Stack_elt (pair nat nat nat nat) { 1 ; 4 ; 7 ; 10 }; Stack_elt (pair nat nat nat nat) { 2 ; 5 ; 8 ; 11 }} + +./octez-client --mode mockup normalize stack '{}' --unparsing-mode Optimized_legacy +{} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9)}' --unparsing-mode Optimized_legacy +{Stack_elt (pair nat nat nat nat) (Pair 0 (Pair 3 (Pair 6 9)))} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10)))}' --unparsing-mode Optimized_legacy +{Stack_elt (pair nat nat nat nat) (Pair 0 (Pair 3 (Pair 6 9))); Stack_elt (pair nat nat nat nat) (Pair 1 (Pair 4 (Pair 7 10)))} + +./octez-client --mode mockup normalize stack '{Stack_elt (pair nat nat nat nat) (Pair 0 3 6 9); Stack_elt (pair nat (pair nat (pair nat nat))) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat (pair nat nat)) {2; 5; 8; 11}}' --unparsing-mode Optimized_legacy +{Stack_elt (pair nat nat nat nat) (Pair 0 (Pair 3 (Pair 6 9))); Stack_elt (pair nat nat nat nat) (Pair 1 (Pair 4 (Pair 7 10))); Stack_elt (pair nat nat nat nat) (Pair 2 (Pair 5 (Pair 8 11)))} + +./octez-client --mode mockup normalize stack +Error: + Erroneous command line argument 3 (). + empty expression + +Usage: + octez-client [global options] command [command options] + octez-client --help (for global options) + octez-client [global options] command --help (for command options) + octez-client --version (for version information) + +To browse the documentation: + octez-client [global options] man (for a list of commands) + octez-client [global options] man -v 3 (for the full manual) + +Global options (must come before the command): + -d --base-dir : client data directory (absent: TEZOS_CLIENT_DIR env) + -n --no-base-dir-warnings: silence warnings about client data directory + -c --config-file : configuration file + -t --timings: show RPC request times + --chain : chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + -b --block : block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + -w --wait >: how many confirmation blocks are needed before an operation is considered included + -p --protocol : use commands of a specific protocol + -l --log-requests: log all requests to the node + --better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. + -A --addr : [DEPRECATED: use --endpoint instead] IP address of the node + -P --port : [DEPRECATED: use --endpoint instead] RPC port of the node + -S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. + -m --media-type : Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + -E --endpoint : HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' + -s --sources : path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} + -R --remote-signer : URI of the remote signer + -f --password-filename : path to the password filename + -M --mode : how to interact with the node + +./octez-client --mode mockup normalize stack '{' +Error: + Erroneous command line argument 3 ({). + At line 1 characters 0 to 1, unclosed curly brace + +Usage: + octez-client [global options] command [command options] + octez-client --help (for global options) + octez-client [global options] command --help (for command options) + octez-client --version (for version information) + +To browse the documentation: + octez-client [global options] man (for a list of commands) + octez-client [global options] man -v 3 (for the full manual) + +Global options (must come before the command): + -d --base-dir : client data directory (absent: TEZOS_CLIENT_DIR env) + -n --no-base-dir-warnings: silence warnings about client data directory + -c --config-file : configuration file + -t --timings: show RPC request times + --chain : chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + -b --block : block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + -w --wait >: how many confirmation blocks are needed before an operation is considered included + -p --protocol : use commands of a specific protocol + -l --log-requests: log all requests to the node + --better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. + -A --addr : [DEPRECATED: use --endpoint instead] IP address of the node + -P --port : [DEPRECATED: use --endpoint instead] RPC port of the node + -S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. + -m --media-type : Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + -E --endpoint : HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' + -s --sources : path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} + -R --remote-signer : URI of the remote signer + -f --password-filename : path to the password filename + -M --mode : how to interact with the node + +./octez-client --mode mockup normalize stack 0 +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got 0. + +./octez-client --mode mockup normalize stack '{Stack_elt}' +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt. + +./octez-client --mode mockup normalize stack '{Stack_elt nat}' +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt nat. + +./octez-client --mode mockup normalize stack '{Stack_elt 0 nat}' +At (unshown) location 0, unexpected int, only a primitive can be used here. +Fatal error: + ill-typed stack + +./octez-client --mode mockup normalize stack '{Stack_elt nat 0 1}' +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat 0 1 }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt nat 0 1. + +./octez-client --mode mockup normalize stack 'Stack_elt nat 0' +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got Stack_elt nat 0. + +./octez-client --mode mockup normalize stack '{Stack_elt nat 0; Stack_elt}' +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat 0 ; Stack_elt }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt. + +./octez-client --mode mockup normalize stack --unparsing-mode Readable +Error: + Erroneous command line argument 3 (). + empty expression + +Usage: + octez-client [global options] command [command options] + octez-client --help (for global options) + octez-client [global options] command --help (for command options) + octez-client --version (for version information) + +To browse the documentation: + octez-client [global options] man (for a list of commands) + octez-client [global options] man -v 3 (for the full manual) + +Global options (must come before the command): + -d --base-dir : client data directory (absent: TEZOS_CLIENT_DIR env) + -n --no-base-dir-warnings: silence warnings about client data directory + -c --config-file : configuration file + -t --timings: show RPC request times + --chain : chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + -b --block : block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + -w --wait >: how many confirmation blocks are needed before an operation is considered included + -p --protocol : use commands of a specific protocol + -l --log-requests: log all requests to the node + --better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. + -A --addr : [DEPRECATED: use --endpoint instead] IP address of the node + -P --port : [DEPRECATED: use --endpoint instead] RPC port of the node + -S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. + -m --media-type : Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + -E --endpoint : HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' + -s --sources : path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} + -R --remote-signer : URI of the remote signer + -f --password-filename : path to the password filename + -M --mode : how to interact with the node + +./octez-client --mode mockup normalize stack '{' --unparsing-mode Readable +Error: + Erroneous command line argument 3 ({). + At line 1 characters 0 to 1, unclosed curly brace + +Usage: + octez-client [global options] command [command options] + octez-client --help (for global options) + octez-client [global options] command --help (for command options) + octez-client --version (for version information) + +To browse the documentation: + octez-client [global options] man (for a list of commands) + octez-client [global options] man -v 3 (for the full manual) + +Global options (must come before the command): + -d --base-dir : client data directory (absent: TEZOS_CLIENT_DIR env) + -n --no-base-dir-warnings: silence warnings about client data directory + -c --config-file : configuration file + -t --timings: show RPC request times + --chain : chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + -b --block : block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + -w --wait >: how many confirmation blocks are needed before an operation is considered included + -p --protocol : use commands of a specific protocol + -l --log-requests: log all requests to the node + --better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. + -A --addr : [DEPRECATED: use --endpoint instead] IP address of the node + -P --port : [DEPRECATED: use --endpoint instead] RPC port of the node + -S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. + -m --media-type : Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + -E --endpoint : HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' + -s --sources : path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} + -R --remote-signer : URI of the remote signer + -f --password-filename : path to the password filename + -M --mode : how to interact with the node + +./octez-client --mode mockup normalize stack 0 --unparsing-mode Readable +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got 0. + +./octez-client --mode mockup normalize stack '{Stack_elt}' --unparsing-mode Readable +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt. + +./octez-client --mode mockup normalize stack '{Stack_elt nat}' --unparsing-mode Readable +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt nat. + +./octez-client --mode mockup normalize stack '{Stack_elt 0 nat}' --unparsing-mode Readable +At (unshown) location 0, unexpected int, only a primitive can be used here. +Fatal error: + ill-typed stack + +./octez-client --mode mockup normalize stack '{Stack_elt nat 0 1}' --unparsing-mode Readable +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat 0 1 }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt nat 0 1. + +./octez-client --mode mockup normalize stack 'Stack_elt nat 0' --unparsing-mode Readable +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got Stack_elt nat 0. + +./octez-client --mode mockup normalize stack '{Stack_elt nat 0; Stack_elt}' --unparsing-mode Readable +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat 0 ; Stack_elt }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt. + +./octez-client --mode mockup normalize stack --unparsing-mode Optimized +Error: + Erroneous command line argument 3 (). + empty expression + +Usage: + octez-client [global options] command [command options] + octez-client --help (for global options) + octez-client [global options] command --help (for command options) + octez-client --version (for version information) + +To browse the documentation: + octez-client [global options] man (for a list of commands) + octez-client [global options] man -v 3 (for the full manual) + +Global options (must come before the command): + -d --base-dir : client data directory (absent: TEZOS_CLIENT_DIR env) + -n --no-base-dir-warnings: silence warnings about client data directory + -c --config-file : configuration file + -t --timings: show RPC request times + --chain : chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + -b --block : block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + -w --wait >: how many confirmation blocks are needed before an operation is considered included + -p --protocol : use commands of a specific protocol + -l --log-requests: log all requests to the node + --better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. + -A --addr : [DEPRECATED: use --endpoint instead] IP address of the node + -P --port : [DEPRECATED: use --endpoint instead] RPC port of the node + -S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. + -m --media-type : Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + -E --endpoint : HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' + -s --sources : path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} + -R --remote-signer : URI of the remote signer + -f --password-filename : path to the password filename + -M --mode : how to interact with the node + +./octez-client --mode mockup normalize stack '{' --unparsing-mode Optimized +Error: + Erroneous command line argument 3 ({). + At line 1 characters 0 to 1, unclosed curly brace + +Usage: + octez-client [global options] command [command options] + octez-client --help (for global options) + octez-client [global options] command --help (for command options) + octez-client --version (for version information) + +To browse the documentation: + octez-client [global options] man (for a list of commands) + octez-client [global options] man -v 3 (for the full manual) + +Global options (must come before the command): + -d --base-dir : client data directory (absent: TEZOS_CLIENT_DIR env) + -n --no-base-dir-warnings: silence warnings about client data directory + -c --config-file : configuration file + -t --timings: show RPC request times + --chain : chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + -b --block : block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + -w --wait >: how many confirmation blocks are needed before an operation is considered included + -p --protocol : use commands of a specific protocol + -l --log-requests: log all requests to the node + --better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. + -A --addr : [DEPRECATED: use --endpoint instead] IP address of the node + -P --port : [DEPRECATED: use --endpoint instead] RPC port of the node + -S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. + -m --media-type : Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + -E --endpoint : HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' + -s --sources : path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} + -R --remote-signer : URI of the remote signer + -f --password-filename : path to the password filename + -M --mode : how to interact with the node + +./octez-client --mode mockup normalize stack 0 --unparsing-mode Optimized +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got 0. + +./octez-client --mode mockup normalize stack '{Stack_elt}' --unparsing-mode Optimized +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt. + +./octez-client --mode mockup normalize stack '{Stack_elt nat}' --unparsing-mode Optimized +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt nat. + +./octez-client --mode mockup normalize stack '{Stack_elt 0 nat}' --unparsing-mode Optimized +At (unshown) location 0, unexpected int, only a primitive can be used here. +Fatal error: + ill-typed stack + +./octez-client --mode mockup normalize stack '{Stack_elt nat 0 1}' --unparsing-mode Optimized +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat 0 1 }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt nat 0 1. + +./octez-client --mode mockup normalize stack 'Stack_elt nat 0' --unparsing-mode Optimized +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got Stack_elt nat 0. + +./octez-client --mode mockup normalize stack '{Stack_elt nat 0; Stack_elt}' --unparsing-mode Optimized +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat 0 ; Stack_elt }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt. + +./octez-client --mode mockup normalize stack --unparsing-mode Optimized_legacy +Error: + Erroneous command line argument 3 (). + empty expression + +Usage: + octez-client [global options] command [command options] + octez-client --help (for global options) + octez-client [global options] command --help (for command options) + octez-client --version (for version information) + +To browse the documentation: + octez-client [global options] man (for a list of commands) + octez-client [global options] man -v 3 (for the full manual) + +Global options (must come before the command): + -d --base-dir : client data directory (absent: TEZOS_CLIENT_DIR env) + -n --no-base-dir-warnings: silence warnings about client data directory + -c --config-file : configuration file + -t --timings: show RPC request times + --chain : chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + -b --block : block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + -w --wait >: how many confirmation blocks are needed before an operation is considered included + -p --protocol : use commands of a specific protocol + -l --log-requests: log all requests to the node + --better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. + -A --addr : [DEPRECATED: use --endpoint instead] IP address of the node + -P --port : [DEPRECATED: use --endpoint instead] RPC port of the node + -S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. + -m --media-type : Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + -E --endpoint : HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' + -s --sources : path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} + -R --remote-signer : URI of the remote signer + -f --password-filename : path to the password filename + -M --mode : how to interact with the node + +./octez-client --mode mockup normalize stack '{' --unparsing-mode Optimized_legacy +Error: + Erroneous command line argument 3 ({). + At line 1 characters 0 to 1, unclosed curly brace + +Usage: + octez-client [global options] command [command options] + octez-client --help (for global options) + octez-client [global options] command --help (for command options) + octez-client --version (for version information) + +To browse the documentation: + octez-client [global options] man (for a list of commands) + octez-client [global options] man -v 3 (for the full manual) + +Global options (must come before the command): + -d --base-dir : client data directory (absent: TEZOS_CLIENT_DIR env) + -n --no-base-dir-warnings: silence warnings about client data directory + -c --config-file : configuration file + -t --timings: show RPC request times + --chain : chain on which to apply contextual commands (commands dependent on the context associated with the specified chain). Possible tags are 'main' and 'test'. + -b --block : block on which to apply contextual commands (commands dependent on the context associated with the specified block). Possible tags include 'head' and 'genesis' +/- an optional offset (e.g. "octez-client -b head-1 get timestamp"). Note that block queried must exist in node's storage. + -w --wait >: how many confirmation blocks are needed before an operation is considered included + -p --protocol : use commands of a specific protocol + -l --log-requests: log all requests to the node + --better-errors: Error reporting is more detailed. Can be used if a call to an RPC fails or if you don't know the input accepted by the RPC. It may happen that the RPC calls take more time however. + -A --addr : [DEPRECATED: use --endpoint instead] IP address of the node + -P --port : [DEPRECATED: use --endpoint instead] RPC port of the node + -S --tls: [DEPRECATED: use --endpoint instead] use TLS to connect to node. + -m --media-type : Sets the "media-type" value for the "accept" header for RPC requests to the node. The media accept header indicates to the node which format of data serialisation is supported. Use the value "json" for serialisation to the JSON format. + -E --endpoint : HTTP(S) endpoint of the node RPC interface; e.g. 'http://localhost:8732' + -s --sources : path to JSON file containing sources for --mode light. Example file content: {"min_agreement": 1.0, "uris": ["http://localhost:8732", "https://localhost:8733"]} + -R --remote-signer : URI of the remote signer + -f --password-filename : path to the password filename + -M --mode : how to interact with the node + +./octez-client --mode mockup normalize stack 0 --unparsing-mode Optimized_legacy +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got 0. + +./octez-client --mode mockup normalize stack '{Stack_elt}' --unparsing-mode Optimized_legacy +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt. + +./octez-client --mode mockup normalize stack '{Stack_elt nat}' --unparsing-mode Optimized_legacy +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt nat. + +./octez-client --mode mockup normalize stack '{Stack_elt 0 nat}' --unparsing-mode Optimized_legacy +At (unshown) location 0, unexpected int, only a primitive can be used here. +Fatal error: + ill-typed stack + +./octez-client --mode mockup normalize stack '{Stack_elt nat 0 1}' --unparsing-mode Optimized_legacy +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat 0 1 }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt nat 0 1. + +./octez-client --mode mockup normalize stack 'Stack_elt nat 0' --unparsing-mode Optimized_legacy +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got Stack_elt nat 0. + +./octez-client --mode mockup normalize stack '{Stack_elt nat 0; Stack_elt}' --unparsing-mode Optimized_legacy +Error: + Unexpected format for a typed stack. Expected a sequence of Stack_elt ; got { Stack_elt nat 0 ; Stack_elt }. + Unexpected format for an item in a typed stack. Expected: Stack_elt ; got Stack_elt. diff --git a/tezt/tests/expected/normalize.ml/Nairobi- Test normalize in unparsing mode.out b/tezt/tests/expected/normalize.ml/Nairobi- Test normalize in unparsing mode.out new file mode 100644 index 000000000000..80323b4574cb --- /dev/null +++ b/tezt/tests/expected/normalize.ml/Nairobi- Test normalize in unparsing mode.out @@ -0,0 +1,14 @@ + +./octez-client --mode mockup normalize data '{Pair 0 3 6 9; Pair 1 (Pair 4 (Pair 7 10)); {2; 5; 8; 11}}' of type 'list (pair nat nat nat nat)' +{ Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } + +./octez-client --mode mockup normalize data '{Pair 0 3 6 9; Pair 1 (Pair 4 (Pair 7 10)); {2; 5; 8; 11}}' of type 'list (pair nat nat nat nat)' --unparsing-mode Readable +{ Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } + +./octez-client --mode mockup normalize data '{Pair 0 3 6 9; Pair 1 (Pair 4 (Pair 7 10)); {2; 5; 8; 11}}' of type 'list (pair nat nat nat nat)' --unparsing-mode Optimized +{ { 0 ; 3 ; 6 ; 9 } ; { 1 ; 4 ; 7 ; 10 } ; { 2 ; 5 ; 8 ; 11 } } + +./octez-client --mode mockup normalize data '{Pair 0 3 6 9; Pair 1 (Pair 4 (Pair 7 10)); {2; 5; 8; 11}}' of type 'list (pair nat nat nat nat)' --unparsing-mode Optimized_legacy +{ Pair 0 (Pair 3 (Pair 6 9)) ; + Pair 1 (Pair 4 (Pair 7 10)) ; + Pair 2 (Pair 5 (Pair 8 11)) } diff --git a/tezt/tests/expected/normalize.ml/Nairobi- Test normalize script.out b/tezt/tests/expected/normalize.ml/Nairobi- Test normalize script.out new file mode 100644 index 000000000000..b4642bc280ed --- /dev/null +++ b/tezt/tests/expected/normalize.ml/Nairobi- Test normalize script.out @@ -0,0 +1,42 @@ + +./octez-client --mode mockup normalize script michelson_test_scripts/opcodes/comb-literals.tz +{ parameter unit ; + storage unit ; + code { PUSH (list (pair nat nat nat nat)) + { Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } ; + DROP 2 ; + UNIT ; + NIL operation ; + PAIR } } + +./octez-client --mode mockup normalize script michelson_test_scripts/opcodes/comb-literals.tz --unparsing-mode Readable +{ parameter unit ; + storage unit ; + code { PUSH (list (pair nat nat nat nat)) + { Pair 0 3 6 9 ; Pair 1 4 7 10 ; Pair 2 5 8 11 } ; + DROP 2 ; + UNIT ; + NIL operation ; + PAIR } } + +./octez-client --mode mockup normalize script michelson_test_scripts/opcodes/comb-literals.tz --unparsing-mode Optimized +{ parameter unit ; + storage unit ; + code { PUSH (list (pair nat nat nat nat)) + { { 0 ; 3 ; 6 ; 9 } ; { 1 ; 4 ; 7 ; 10 } ; { 2 ; 5 ; 8 ; 11 } } ; + DROP 2 ; + UNIT ; + NIL operation ; + PAIR } } + +./octez-client --mode mockup normalize script michelson_test_scripts/opcodes/comb-literals.tz --unparsing-mode Optimized_legacy +{ parameter unit ; + storage unit ; + code { PUSH (list (pair nat nat nat nat)) + { Pair 0 (Pair 3 (Pair 6 9)) ; + Pair 1 (Pair 4 (Pair 7 10)) ; + Pair 2 (Pair 5 (Pair 8 11)) } ; + DROP 2 ; + UNIT ; + NIL operation ; + PAIR } } diff --git a/tezt/tests/expected/normalize.ml/Nairobi- Test normalize type.out b/tezt/tests/expected/normalize.ml/Nairobi- Test normalize type.out new file mode 100644 index 000000000000..c35ef0e62ff8 --- /dev/null +++ b/tezt/tests/expected/normalize.ml/Nairobi- Test normalize type.out @@ -0,0 +1,24 @@ + +./octez-client --mode mockup normalize type nat +nat + +./octez-client --mode mockup normalize type 'list nat' +list nat + +./octez-client --mode mockup normalize type 'pair nat int' +pair nat int + +./octez-client --mode mockup normalize type 'list (pair nat int)' +list (pair nat int) + +./octez-client --mode mockup normalize type 'pair nat int bool' +pair nat (pair int bool) + +./octez-client --mode mockup normalize type 'list (pair nat int bool)' +list (pair nat (pair int bool)) + +./octez-client --mode mockup normalize type 'pair nat int bool bytes' +pair nat (pair int (pair bool bytes)) + +./octez-client --mode mockup normalize type 'list (pair nat int bool bytes)' +list (pair nat (pair int (pair bool bytes))) diff --git a/tezt/tests/expected/normalize.ml/Nairobi- Test normalize with legacy flag.out b/tezt/tests/expected/normalize.ml/Nairobi- Test normalize with legacy flag.out new file mode 100644 index 000000000000..8ecc6976ccf6 --- /dev/null +++ b/tezt/tests/expected/normalize.ml/Nairobi- Test normalize with legacy flag.out @@ -0,0 +1,10 @@ + +./octez-client --mode mockup normalize data '{Elt %a 0 1}' of type 'map nat nat' --legacy +{ Elt 0 1 } + +./octez-client --mode mockup normalize data '{Elt %a 0 1}' of type 'map nat nat' +At (unshown) location 0, value { Elt %a 0 1 } +is invalid for type map nat nat. +At (unshown) location 1, unexpected annotation. +Fatal error: + ill-typed data expression diff --git a/tezt/tests/expected/script_hash_regression.ml/Nairobi- Test script hash regression.out b/tezt/tests/expected/script_hash_regression.ml/Nairobi- Test script hash regression.out new file mode 100644 index 000000000000..72c54d8f00e8 --- /dev/null +++ b/tezt/tests/expected/script_hash_regression.ml/Nairobi- Test script hash regression.out @@ -0,0 +1,444 @@ +exprvFK4dJmFGinHHBe92WR4kA7L8WSBQQYDigmyVCyKpiQHCXe9fk michelson_test_scripts/attic/accounts.tz +expruucsMyaSmmP5gmkFWjJfv4a52FQV5EGaf3XpHoeXHQgyJgMJfF michelson_test_scripts/attic/add1.tz +exprvEM4Lvihz6jFYszxazuQQPsHjxA4J54tfLeowwDkY1jjTi8Qft michelson_test_scripts/attic/add1_list.tz +exprta1x6QtexpFktejHoB1KwuMQRXePhgre9rDiJ3GDSZCqb3vtqL michelson_test_scripts/attic/after_strategy.tz +expruEosJCXYteRXxfbAVJ5XythgpVQPMdiu3kbbZj3VAVSVjk8ud7 michelson_test_scripts/attic/always.tz +exprvR9m6PaVeLfPHZjA3A929bbfjonzMJs1Kzcmj8baoEvLct9Ry9 michelson_test_scripts/attic/append.tz +exprvQh7vw7vYfp2qdiyYPCFgd6jVkxqYZimmqoYCGZbqaoMgfLifS michelson_test_scripts/attic/at_least.tz +exprtyZC9vL831BnATCkdrP585F4cEzQQQp1ZqnZSqvCDLqp7S33V1 michelson_test_scripts/attic/auction.tz +expruZ4wjBCm3DQNhEf69L27tqaqAJa1TF34728yyPJ9BUg3sEwcxB michelson_test_scripts/attic/bad_lockup.tz +expruazd13u4uPHS7oFWFeZ5nodWR5QC6nQwgy5LGoUTAR3KXsYPXg michelson_test_scripts/attic/big_map_union.tz +exprv7aEg823PTvrEG5bXr4QGk3XCsEkodhUxWCaMBBSq44ZuAxnNf michelson_test_scripts/attic/cadr_annotation.tz +expruwmej4r1RSMDEmmU4SjWUbrzpURnAwybrSwBaMkHpxVobLkWAe michelson_test_scripts/attic/concat.tz +exprte328K2NmgWrmHLbFrGVjvoZKZNFB7577Vt7cWQa8KdvWbfxYk michelson_test_scripts/attic/conditionals.tz +exprvRVXhJFcFjGMkatDwgaLRcJq4TctY979bjniTqwACgXtC3mWko michelson_test_scripts/attic/cons_twice.tz +exprtcnAL38pt7fyZdCiqd97qcYeESWQStPR6sbN2SxMCfbPJhVjau michelson_test_scripts/attic/cps_fact.tz +exprv9BquR6NXVwKMwD4MS5vdWqqvMzjvWumrBf6NsGQXSfgm2Rtqk michelson_test_scripts/attic/create_add1_lists.tz +exprv4cq5g9hsxWU65zCp8dfUi3RtBzu9rGXZ7otetL23tj1zSkNQ2 michelson_test_scripts/attic/data_publisher.tz +expruavAC89RfrZxSrYwdoA6Wr5ghwdUSns8SNaHcng1JRcqR1dwpR michelson_test_scripts/attic/dispatch.tz +expruat2BS4KCwn9kbopeX1ZwxtrtJbyFhpnpnG6A5KdCBCwHNsdod michelson_test_scripts/attic/empty.tz +exprubD7VQHa8qeqRsFByes3ANZ24mvUnqW3qKAsKVUCncjxYEXtGp michelson_test_scripts/attic/fail_amount.tz +expruYCfXuFoyakdWc3C6Np5ojQrGLDMMN6btVbVEAc97MJzpQYVrm michelson_test_scripts/attic/faucet.tz +expruuvYJkV5YndLNMHFg54yDF1HG6AP4zMsui7RgQBLr6vCZVBVYt michelson_test_scripts/attic/forward.tz +exprv8K6ceBpFH5SFjQm4BRYSLJCHQBFeQU6BFTdvQSRPaPkzdLyAL michelson_test_scripts/attic/id.tz +exprujqMuqia1zKuReMgjumpsn8XAJ5N6RWaoz3kZpLNRUyyQXwrtY michelson_test_scripts/attic/infinite_loop.tz +exprtoE9fvqNeHngkFPopZv412GoqoZ57HgaCi2XFR7YxkwPpvHXBZ michelson_test_scripts/attic/insertion_sort.tz +exprux8tMeArJNXUekbuHqLb6epu2eWXJy85f8Yts5oHASHyWp6bva michelson_test_scripts/attic/int_publisher.tz +expruosSkGQbRDc3NUt5oEqSkt3dqxymQDKDeNxcjRgFNLxARG414v michelson_test_scripts/attic/king_of_tez.tz +exprtZcF9NutGBwyuXTqEi4SyL3bZdAWqzkDc782wxNhYT7LtdY4Lb michelson_test_scripts/attic/list_of_transactions.tz +expruDiMLqyYi67RbkDfNyEjBDgJqQLiCGVx2xLUiWujSkwr7rVyRD michelson_test_scripts/attic/queue.tz +exprtZYeWyxANtdrSANECgXdeakcP9fJm7ecJhpeuGR55a8gDTSXWe michelson_test_scripts/attic/reduce_map.tz +exprvMneQMtBQzcPKboFsEV7R4BAuoF8QLUDMWB62iYLmKz9tztNdJ michelson_test_scripts/attic/reentrancy.tz +exprueaa65wkL9ennP6vZoUP6yCkzz6Wc4cF3w11q8bGXguokXAEvK michelson_test_scripts/attic/reservoir.tz +exprtwrNpVRUJaVTBs5vXFLbt4v6Fb8LRySwc1Ap8ZWZh4JbLfgJ6P michelson_test_scripts/attic/scrutable_reservoir.tz +expruwtkYFMkNLVjKD8hypuDc53SHLQQ65g6VPGiHFXbY5hHwmb552 michelson_test_scripts/attic/spawn_identities.tz +exprtjdvZr5J7WfN4SyNgKueLnxX4fALUYJ4cmi675EHJdUu5yyg2n michelson_test_scripts/entrypoints/big_map_entrypoints.tz +expruwheT76ehrMrKiyNw8pQEEUfQ1t184BMXGqhaMEuJUCKHNytMj michelson_test_scripts/entrypoints/delegatable_target.tz +exprv2AhXPjk56KeNgWmzN15v8f9SoLHMQhNmDAgt6SpAMFmYRCQjx michelson_test_scripts/entrypoints/manager.tz +exprv2SsGeZ6PiC2CXiSePHYQhn88XWmsKVGgG8ZGyNo8p9CNPrRXj michelson_test_scripts/entrypoints/no_default_target.tz +exprvFzfTFqHSFZuDHh91nrupqpULYorBNZRgLEEiPkUhkNVyskyTz michelson_test_scripts/entrypoints/no_entrypoint_target.tz +exprtw1GsUzdCfFR6bHsdF78uTbejEJ4iTdXn7YTYRU5C7XS89dyxU michelson_test_scripts/entrypoints/rooted_target.tz +exprtaqrrvZzcS8wKS8u6RcVqRJhnu2Qbex9jRUZHQxJJeqhhfhtXJ michelson_test_scripts/entrypoints/simple_entrypoints.tz +exprv8K6ceBpFH5SFjQm4BRYSLJCHQBFeQU6BFTdvQSRPaPkzdLyAL michelson_test_scripts/ill_typed/badly_indented.tz +expruN224mpoNLwPiVuGuaJ22QZjMuK6sKjGFAeSyQY8PQoBC7Hoim michelson_test_scripts/ill_typed/big_dip.tz +exprtnvncrJA5Fo5iyGnhyXhHXyWJuwvzWHP6Rbokbr7HsSqxQ7QLC michelson_test_scripts/ill_typed/big_drop.tz +expruBzaC26c6mckE8g8wLBH7t1JnFi8Uyn7WjdWKGT6sJftboCFTJ michelson_test_scripts/ill_typed/big_map_arity.tz +expruMk21qTMDDKvFNjTNLab33QEbdnG3kP7M1WEWcXhpPLkCAA21X michelson_test_scripts/ill_typed/chain_id_arity.tz +exprtrJKmsNVineQxEPp8Eq7FcC7edZHbJEdrn56WpqxW61QCpjacm michelson_test_scripts/ill_typed/comb0.tz +expruQsBtw9Fg9gmZSiCPUDD8FjqzDvQDTG5FSFbSJsr7j64DLbwjE michelson_test_scripts/ill_typed/comb1.tz +expruDceVcE3mACUGZhntGk2BMQNNn8UaFZhd8BnRfyWWzdFav7VyP michelson_test_scripts/ill_typed/contract_annotation_default.tz +exprv8no3WSXCsf89WYazUNurLm8hwZRwTWYBQrzihscQcR6M1uKEu michelson_test_scripts/ill_typed/create_contract_rootname.tz +exprtxuT8vf615qpJ9ycmVu7XUGBB8pZZjnPKnZhFhBMfdUpw2JarU michelson_test_scripts/ill_typed/dip_failwith.tz +expruUrLEKFhakNNzTRBigYqnGi2DkvS64m52omEYizdjmscmgF2AQ michelson_test_scripts/ill_typed/dup0.tz +expruUbLS1knNLEJMoE8c7oTbNo3EXiEgagPewKZLFUukFpQZJ7zce michelson_test_scripts/ill_typed/failwith_big_map.tz +expruk5YNGKzCkCMbLhr3euh9xQWZcmtZkGV891LMhNHbxpe1P5QTW michelson_test_scripts/ill_typed/invalid_self_entrypoint.tz +exprtX6MmAqAQ37LRgnkdv525PKHiGdGXyKT33M1NASahAMSCt43VS michelson_test_scripts/ill_typed/map_failwith.tz +expru9tAzQAm6c8Uv4oU6EpkJR6wWXZ8b7MUfyQMorpR8j3HKb2xQM michelson_test_scripts/ill_typed/missing_only_code_field.tz +expru1TjqXpC2u8BLGP5Ps6DPyXLvRY7arR187zjhTJsT3ovrbyqSm michelson_test_scripts/ill_typed/missing_only_parameter_field.tz +exprtnqtHEs13CBddyrcWuvRzsBqgk4vFqdaYTGp2UzY4Z8ahAW6Ej michelson_test_scripts/ill_typed/missing_only_storage_field.tz +expruyMAkvFzMm9ANKFgnpX5cfTVufBcrEn47wYGmnD1hocSbHJLxp michelson_test_scripts/ill_typed/missing_parameter_and_storage_fields.tz +expruRoBeRu3HBshceKrBikpiJWgz9pET8UC6QH7xvM33wPtxJ5cxL michelson_test_scripts/ill_typed/multiple_code_field.tz +exprvLL1MBfbBRMb3R4cy6bJ6KgoMuzNmL6u2y6NaT1hhbCmkprDi1 michelson_test_scripts/ill_typed/multiple_parameter_field.tz +exprudNsSikUJ8etsu55GFBJY33H2x9tzT7v2k1w5m5gLJBb8vU2B9 michelson_test_scripts/ill_typed/multiple_storage_and_code_fields.tz +expruLyv1V3fshbeb9HzsodyQFGDihmbt9wZD8UdP3NJEXzBvkaUL8 michelson_test_scripts/ill_typed/multiple_storage_field.tz +expruvbJCzBYasMCg3DcjmYK9FodRbLokBpWNxZpJDyyunsQK6gWCF michelson_test_scripts/ill_typed/never_literal.tz +exprvBkft3ii7B5gjvqFJKsEGq1z9VhnRHW5JAdPNGWPvMdkMRKjTA michelson_test_scripts/ill_typed/pack_big_map.tz +exprutSqwcaXa6tmF2D4asfxkb6QN5CDn128U4ntCgRG5JKUPan7i2 michelson_test_scripts/ill_typed/pack_operation.tz +expru6yXKqKsiikqZe4hgfbACNDFiGtSSoRsuEtcJy5iYwkwDCG9T4 michelson_test_scripts/ill_typed/pack_sapling_state.tz +exprvQzTcT6STxdp9CJi4mtrY9fvv6VvmfRjEqoQwUqYwEK85mjw5H michelson_test_scripts/ill_typed/push_big_map_with_id_with_parens.tz +exprvMz8TqvLs55NtZzBJ2quCwCB7FqxhVuAiMtEZGK8MWxQw6H9Xx michelson_test_scripts/ill_typed/push_big_map_with_id_without_parens.tz +expruW1dZrFKoyXWLXr3Yeqhmivj9qqqnDyWSc3NzyVHudEANGYjVW michelson_test_scripts/ill_typed/sapling_build_empty_state_with_int_parameter.tz +exprv7mqCULEgnAUKoU4foKVKZeuM6uMSkCCgoMeE1oGYMXGebu5L7 michelson_test_scripts/ill_typed/set_update_non_comparable.tz +expruVMMR2tyqqRqpVQzhLXF47658GNFQB2gLaemhrV8gRm9yZt1x4 michelson_test_scripts/ill_typed/stack_bottom_undig2able.tz +expruxH5WZ4TkhVCUq767J2fHG2yuqL13fWjcKK8azQmy2N9ud11RG michelson_test_scripts/ill_typed/stack_bottom_undigable.tz +expruVvGWPSfsZCtSGEm3qMmCgyveYXhVLQhhxpYBv7GTqaDL91kLf michelson_test_scripts/ill_typed/stack_bottom_undip2able.tz +exprtYhZdG4uP6y2pq4ewHDahRQP4fZ2iBMEYRgpq1hqMFQmMRZuWR michelson_test_scripts/ill_typed/stack_bottom_undipable.tz +exprttbYRZnFJLumEAvLpyH6R1A1GjcwuP39EZTqwNWYyceAAWFKoK michelson_test_scripts/ill_typed/stack_bottom_undropable.tz +expruRbdhi81mKdvamEnP2LoCNVVz6ewvyWhezKqZGxjrVFt7hpcq2 michelson_test_scripts/ill_typed/stack_bottom_undug2able.tz +exprtgLFbB3vNCxh9hHfH2rQdS2Vnqqucwqa2PGZScv6f64agKeay3 michelson_test_scripts/ill_typed/stack_bottom_undugable.tz +exprvQjZYDufKeuRxvKsMEPFMyuZYWYVUSe2GZJw8eXRXYSD73buTB michelson_test_scripts/ill_typed/stack_bottom_undup2able.tz +exprtz1gy2jW3mpiJxgquMA68mjWh8s61HDQJzVp5hhUQnVsP9xR5L michelson_test_scripts/ill_typed/stack_bottom_unfailwithable.tz +exprvDK14kRaERXV4ygtEJTgd5UQikyupAMdTWbZFTULAFPzARqAdQ michelson_test_scripts/ill_typed/stack_bottom_ungetable.tz +exprtydB8VD3snEKSXYgV2SphRE8bZvPJd3o1QEU6GPqZm8cHc1iTR michelson_test_scripts/ill_typed/stack_bottom_unleftable.tz +expruKgcBzkj11KzkbRKYAsWrngu4rBuqNmhPdGWudV4KeePSJGoEk michelson_test_scripts/ill_typed/stack_bottom_unpairable.tz +expruFLiTmNwLXuXVaPGquovMCYjgCeJzKKV27DK14NQAG7z4nGxvQ michelson_test_scripts/ill_typed/stack_bottom_unpopable.tz +expruQAEgAnhPLZuaywyGgJGqcRFWn2rEDprqNHvRDxirdShLwc26c michelson_test_scripts/ill_typed/stack_bottom_unpopable_in_lambda.tz +expruGDfhqvw6oH6cA6Vvvjdn8FyEmJ7SUizhNFCYNSfG2ikmBr5ea michelson_test_scripts/ill_typed/stack_bottom_unrightable.tz +exprunAg8DteXhBhjmmEPasSRe5u18oN5UdwJUyz7crzktR1n7aj7g michelson_test_scripts/ill_typed/ticket_apply.tz +exprtv5Yt3ihwrqvfZm2CZdHkJk544CdepaQ5g6jTF5UhfvK3y1PAc michelson_test_scripts/ill_typed/ticket_dup.tz +expruQfVM57mGxNiY7XpV3Rex8xhqLwRyXvvSEBEZuHKvoVgo8sfsU michelson_test_scripts/ill_typed/ticket_in_ticket.tz +exprtw4id4R45wkzJz7g5GBiRStuREcD515mjMvECP2Nsjt1GCDQSb michelson_test_scripts/ill_typed/ticket_unpack.tz +exprtsPNzBdoHNqsiGGzD83vzY4QhRGFgj2aBhVkRjryg8UCzgB7rm michelson_test_scripts/ill_typed/timelock.tz +expruWHcaUVqG6kmYxQF1Mxx5hmB2SYUeNVWNkVrprgax67e9sLATa michelson_test_scripts/ill_typed/uncomb0.tz +exprtrL9J2534bFgoBvVC1YaNVXDsE1c2FXWxgyDhDHtUz5zghortN michelson_test_scripts/ill_typed/uncomb1.tz +exprujrucGLAmdmT3k2iRC2imquB7sUbcvSg6zVrvAxcvbrrkodSRb michelson_test_scripts/ill_typed/unpack_sapling_state.tz +expru2vU5zmzGh2HRrwNeSnysgcVLMbPb1tkGoFTrNg6YiNMqm2dxD michelson_test_scripts/ill_typed/view_op_bad_name_invalid_char_set.tz +exprufbbZ4jHZ6PJJT614zAJU4ZdSEEmjTpxM9YMnEMSLLR85tKe97 michelson_test_scripts/ill_typed/view_op_bad_name_invalid_type.tz +exprtZFiFcS8quUpTKd6cdop8WKZ9km6X18pF8gWngrTarAiVWWuxv michelson_test_scripts/ill_typed/view_op_bad_name_non_printable_char.tz +exprtn9rV6YNYRDCKtShnzAeKaYh8jqTNKjGxVYo1twk7hrAhPaLrT michelson_test_scripts/ill_typed/view_op_bad_name_too_long.tz +expruBC7TwAKWgKbY8dpuDR7cuvxjFM6nCd935jCcWq9rSJNw1aA75 michelson_test_scripts/ill_typed/view_op_bad_return_type.tz +expruoFRmDZuVddy7VmkV2QBcLgSStqpEDMDacTWsFzqTxZXdWdZfC michelson_test_scripts/ill_typed/view_op_dupable_type.tz +expruxYAxsENuXbe9kyhfUaWWAjBfWkbuQy8irkyJkevrfLBsWt7xc michelson_test_scripts/ill_typed/view_op_invalid_arity.tz +exprvPFLSH8Yzs7khoVZkEz4sYWbh6b8ekM6iHrGY5Ds1BjUm763QM michelson_test_scripts/ill_typed/view_op_lazy_storage.tz +exprvPFLSH8Yzs7khoVZkEz4sYWbh6b8ekM6iHrGY5Ds1BjUm763QM michelson_test_scripts/ill_typed/view_op_lazy_storage_type.tz +expruUdCLKAbj9Ww3JkAZ4W2UuTiJ7ugE7kg9DVe4AUfXKE8Q1iPVQ michelson_test_scripts/ill_typed/view_toplevel_bad_input_type.tz +expruWvd91ycMrLFH8jF534BhTWjnHxaHrEubeRNeodafNWfjqqBXC michelson_test_scripts/ill_typed/view_toplevel_bad_name_invalid_char_set.tz +expruethdzDpBvRtq9UQPdXGwRZqkWnqs6CrcNagNVhDU9vCwsMdzA michelson_test_scripts/ill_typed/view_toplevel_bad_name_invalid_type.tz +exprtnn8xxH2nr6UErb9DNv9Z9xngpSzpYnNk6hwBTbye4x5uacMeQ michelson_test_scripts/ill_typed/view_toplevel_bad_name_non_printable_char.tz +exprunFKRQPF9Hobtkqx32WyQ6ikygyLkL7DCBMNuMoG95NqzVF6si michelson_test_scripts/ill_typed/view_toplevel_bad_name_too_long.tz +exprvMAXDRZuAVGhFHJwnWVoZ411MwmQ9EdVh2JuRnw5qcdz6MjQC1 michelson_test_scripts/ill_typed/view_toplevel_bad_return_type.tz +exprv56pnBNv6EsEHTHjWhJ3tdv5qptVpQGw4ShYC4ojPMxk7Nkxok michelson_test_scripts/ill_typed/view_toplevel_bad_type.tz +exprvAA9gioYUserBNWfg3dM3tpUkeJpEvQBhdCYo6Zkbj8cDciEHE michelson_test_scripts/ill_typed/view_toplevel_dupable_type_input.tz +expru63YpYAZBw9UnRy2pmB9uMQRH4EJXF1BcRAV5xeq3tBdtKtt1F michelson_test_scripts/ill_typed/view_toplevel_dupable_type_output.tz +expruhHAADYeL1YyPJJ6JJDVG1uZMtUChzTRY7wUqjqDJv42WF9iuM michelson_test_scripts/ill_typed/view_toplevel_duplicated_name.tz +exprugDV6TiQP1tmA2JMGXiuF29EKmqacQeF3q7rWkfwzVrw5Qgksd michelson_test_scripts/ill_typed/view_toplevel_invalid_arity.tz +exprum4MVnmugWSpeJysnzAkDFshNeuWboGS3qsgCi3eo9GCxGWZC1 michelson_test_scripts/ill_typed/view_toplevel_lazy_storage_input.tz +expruT8foeFBSvHXuiN9UvAxj6d3ZhidwFteyE4pNHNe3zxcC1LKNv michelson_test_scripts/ill_typed/view_toplevel_lazy_storage_output.tz +exprtf4cGFGDne118G4RFZkHFXFdZMNgAtm1h3zXohFS4n6mzEe4Bp michelson_test_scripts/legacy/create_account.tz +exprtcuNLyAhcZ7Zt6K8pH3KzVyU9YELeSXkJsMPG1h3FyKebyzBz9 michelson_test_scripts/legacy/create_contract.tz +exprutTcX1BwgaPug446zmc16pnipd59ytpVmA6JxAAEyUwJbD47Qv michelson_test_scripts/legacy/create_contract_flags.tz +expruypHz1N6PhereVyiB349tQbrYJhBDr6pJBck1BAUudKRMvMH77 michelson_test_scripts/legacy/create_contract_rootname.tz +exprvPF2hwUEU3GeucamVx6wnv9VWH39QsJVtQW3uUWwXc4aQWJVEw michelson_test_scripts/legacy/originator.tz +expruyPygjWK6gmUgsRZgv7Df2rnqpQUMj65ApbCqmHXNbS2o6QAMk michelson_test_scripts/legacy/steps_to_quota.tz +expruiDvGyQG5GzKzcBP7d5Z5doUcdxTmUcM6vL1jCTyTmxLrekmP7 michelson_test_scripts/macros/assert.tz +expruMKaaLoPjYfDaKymizi9fnFY7hSDyPj2NfJFxSuAoEVknDxSM6 michelson_test_scripts/macros/assert_cmpeq.tz +exprtqiRJEnWeqF5KKBRPjamJGoi2oQvekfnRwsdZNRy8w8wkbroKJ michelson_test_scripts/macros/assert_cmpge.tz +exprtZWviL38eegiNAN55KfEtAHhAqUWoadkbxyFCGs3vDnDRzueft michelson_test_scripts/macros/assert_cmpgt.tz +exprvBWTmSLBAGgcuBFSToCQPqH5J1F5R2vf8iJMiPVdZjG3B7hWq7 michelson_test_scripts/macros/assert_cmple.tz +expruuDzygKxAaQ348e6BcRSk8A2Chq4WinaTUCTvg5YEVnGpptBg3 michelson_test_scripts/macros/assert_cmplt.tz +expruxeuWRoEFHhzv7tG1rwderXePZzxtpL9BRQ9N7ZhoFXS6RPy9a michelson_test_scripts/macros/assert_cmpneq.tz +expruaqEBPqAjaUawnFTSbGZXXr1HemnecV8GuLGD15nQvtxaXiH3z michelson_test_scripts/macros/assert_eq.tz +expru9etUCKvNXZyDCx1x55QfZzyGxmgsteFNBoWAZeh6F5FHEHy3m michelson_test_scripts/macros/assert_ge.tz +exprvP9aPgepXY1C4hVPWPMoDGhvSjNvH5sJvB25qcMMPFHurVyH9c michelson_test_scripts/macros/assert_gt.tz +exprtbLVpjXVnhdMUyDM53MXHH2HBNSMxdnXsVTNtFFMHHVn18yUuZ michelson_test_scripts/macros/assert_le.tz +exprtx7nibNobG8Y7asBYktu2NdPv3k3No29rM4nP1WSbricymunvc michelson_test_scripts/macros/assert_lt.tz +exprvQM6Ukz3TKVSo4dqNDYmMvNG5rs3U7WGXpvjSVsM2oQj6SbdLM michelson_test_scripts/macros/assert_neq.tz +exprueGaPWpG6szfmTAccNH5MaoqxovN7JCbx4CDsmpvnhBAUrAizc michelson_test_scripts/macros/big_map_get_add.tz +exprvFc9HFkvwNGZVrJkU2KpXuXieVKCJ9VXbTo51LRWBMAB6oEbWq michelson_test_scripts/macros/big_map_mem.tz +exprv7Gwz5KP32zP9FYPSng9mPqLYbxwttDZin5QPnqzsUM3MZBvLK michelson_test_scripts/macros/build_list.tz +exprvNqdnnqWgrrZYgnkuFeXrboqQYnYiRLSb7wV4E27bdZcbrU5GK michelson_test_scripts/macros/carn_and_cdrn.tz +exprtknptGzyx8quFM8gHyGcpyX5xYeUxUpoVPhZeBkRqz5hUHfuq7 michelson_test_scripts/macros/compare.tz +exprussGZ9wiqKqGkCsFJrfvr5DXxqZiLuHATJuvr3D8ar3KCeNaCz michelson_test_scripts/macros/compare_bytes.tz +expru4Mmhu46yLQj4Q767jgVgvbaNe7B6EwvYvWA9KCrfzCxwBnzCQ michelson_test_scripts/macros/fail.tz +exprtyJ1YYdejX7jRUh8FDjbbwrbAFwZYKPjdEZMNUUWdncqEwvuyr michelson_test_scripts/macros/guestbook.tz +exprvMCL9Ti9C12EZUiFR1YtSp7nYjPN4DoyJPQiyVDYCZsSsheTeV michelson_test_scripts/macros/macro_annotations.tz +expruq2AH96hXvqFqphuMKhJUY8mGMmdHuiHWHjkZqooZoEusTNNRf michelson_test_scripts/macros/map_caddaadr.tz +exprueEkWTdWS8F25vnUP8gWd75MCfxk3vMhETn5dUYtrifV6FU8x5 michelson_test_scripts/macros/max_in_list.tz +expruGfNErSHzpWnoNpgvZ3MRc52jiCHu8YTDUvh2T643QABr7NDZN michelson_test_scripts/macros/min.tz +exprtw4kigYCiREgky6KBKryS7JkaGih6ju8jkjaXtpdcWYrYukRKX michelson_test_scripts/macros/pair_macro.tz +exprtxutG1Nu8d198ebiCraNuQ8a6iYYqJYfGXq19aykNPB1uECc8w michelson_test_scripts/macros/set_caddaadr.tz +exprvCE6JDXrzEfZuxTQzSgxWXtxX5GoNxvidL84CN2TAm6Hk3kuK6 michelson_test_scripts/macros/take_my_money.tz +exprunGqZLZZwm9mY31NFGbBemCgXGevYqLRKdeRKQArPf824Npnni michelson_test_scripts/macros/unpair_macro.tz +expru6Roa34xofgoK2pnwz1gUNUiPX8qugbPeXn9Lyh8kD3zJNYvim michelson_test_scripts/mini_scenarios/999_constant.tz +expruwYQvEdTgNzbm3228Xp6srt9FbG2v7w2F8yVH7BCK1P2NJTJUi michelson_test_scripts/mini_scenarios/add_clear_tickets_015.tz +expruz2R676Zvnc8cnu3nF28w8mc2gwGbCdNDmyLc2BfpsgaVQHteF michelson_test_scripts/mini_scenarios/always_fails.tz +exprufRUAYF6r5QHQvK8CzWkKQcdvYkPx5fjEYzWPXc35Dry77KDT1 michelson_test_scripts/mini_scenarios/authentication.tz +exprtqebvyM9AjhRMT2WRMo1yiuScCwMf4VLjBdhJFig1ERW7knouj michelson_test_scripts/mini_scenarios/big_map_all.tz +exprtjdvZr5J7WfN4SyNgKueLnxX4fALUYJ4cmi675EHJdUu5yyg2n michelson_test_scripts/mini_scenarios/big_map_entrypoints.tz +exprtfWRfK4RoY8CF9VXvcHeBxizfjMMPAkLojfUTuoZkMSyiPKoyK michelson_test_scripts/mini_scenarios/big_map_magic.tz +expruRE8G1Qc1dU8ZeQCTA48D69uPv8hpZYtDiKKHbfiy1mQLno8nx michelson_test_scripts/mini_scenarios/big_map_read.tz +exprtotUpA2o34SHPX7ZQHD69WvJyEykTvPJ8T3RFErKAq4TQHFAgP michelson_test_scripts/mini_scenarios/big_map_store.tz +exprtbeKR4fc2tqCWahuCeXAb42Hpye5dwmq8sj2guSztorTFJnh1J michelson_test_scripts/mini_scenarios/big_map_write.tz +exprvMZ59ZHwL8JHywsDMt51uUNCJub3nrhgciCyCh57FgZRVAHUCk michelson_test_scripts/mini_scenarios/cache_consistency.tz +exprtywgtRD1K7PCc7Bgvo3BhdbnStcdQd5JVk8r1BKBsH6ULXcwN1 michelson_test_scripts/mini_scenarios/check_signature.tz +expruQ3eniBy4BdEnCBNeTB9qQApVnBNnfqpnVw9iWgSBAHpBqaFqV michelson_test_scripts/mini_scenarios/constant_entrypoints.tz +expruaYHJwQ2NNRV8iUu9iXZ4AhE4conKnkwkaEYtX8BhngWkgLuqW michelson_test_scripts/mini_scenarios/constant_unit.tz +exprvTRcwMZnUPdSeRG8DdiC2xH3DrfMbp8qCwg76Av4pqbX5k4tHw michelson_test_scripts/mini_scenarios/create_contract.tz +exprubRYeqf14u8CU4cEri2RWBrx26gkxyGe5wGeVAf4PDjKdsNhLK michelson_test_scripts/mini_scenarios/create_contract_simple.tz +exprvLDpqaNLp1Cb8hbCqRU6tyU53n9PQkixgcBwFdSLJWsUdwhCQU michelson_test_scripts/mini_scenarios/default_account.tz +exprunMD4kfFx3QbgjyS3VHm6Sy63Km4P4XZiJz3PtZkaZNe2zcmd9 michelson_test_scripts/mini_scenarios/emit_events.tz +expruaNoYRNTQxG5yujhHLetzS68ppQ38MFyi2ZhzNs5WNFv3wBAHG michelson_test_scripts/mini_scenarios/execution_order_appender.tz +exprv6GXw7FheWdWKfY5oxtkB1AcqWkpKQDq4w7rxYFvwypZQijymK michelson_test_scripts/mini_scenarios/execution_order_caller.tz +exprvSqfUw3oLZmQDwys8V5Qn9K1RAgMDGxdUUxzx1wpnyif3uSZG8 michelson_test_scripts/mini_scenarios/execution_order_storer.tz +expruhMQvp6kKepaVGL8EEMPPk6zY1uyyW22Ugrr4ty21dtjDcVdbq michelson_test_scripts/mini_scenarios/fa12_reference.tz +exprutp2rbqbAjUxgneVRzRxv7ppTEvKdA6tNAeDDnGN1zsftskUQQ michelson_test_scripts/mini_scenarios/fail_on_false.tz +exprub9UzpxmhedNQnsv1J1DazWGJnj1dLhtG1fxkUoWSdFLBGLqJ4 michelson_test_scripts/mini_scenarios/generic_multisig.tz +exprvTVuhJ2wNH8LHYEUiNC6ugx264rdfka1HkGfdVxV5632GjqgNv michelson_test_scripts/mini_scenarios/groth16.tz +expru1u3Ta2uCGgcz6Z86K2mA5ierGB9RMaSwSppzVFxeuiXpBFZrf michelson_test_scripts/mini_scenarios/hardlimit.tz +expruYCY8RiqSCiWarxVgha3fCWqbZTzMVtf4cFSrvB7J6kxZW3DAH michelson_test_scripts/mini_scenarios/large_error.tz +expru362itxUvgRTAaaRaZiRsB2jMV7sv4WzcGPQtzp7z44rp7AdZe michelson_test_scripts/mini_scenarios/large_flat_contract.tz +expru23Uo5EJQEDVWx2JViKwosQ2Ri9ysY9CkftfB8X5D9qh3KRRPJ michelson_test_scripts/mini_scenarios/large_str_id.tz +exprutz4BVGJ3Qms6qjmqvUF8sEk27H1cfqhRT17qpTdhEs5hEjbWm michelson_test_scripts/mini_scenarios/legacy_multisig.tz +exprvRy1WUs7SQaNJm478UQHzz8uJAQoWT3bR5TXSnmbxWAcpZdGKu michelson_test_scripts/mini_scenarios/lockup.tz +exprtaZK3uo7KJ5WK96o6vR9atAPqFGnq6ew23Jwve6VFYy3kAmiDQ michelson_test_scripts/mini_scenarios/loop.tz +exprufAK15C2FCbxGLCEVXFe26p3eQdYuwZRk1morJUwy9NBUmEZVB michelson_test_scripts/mini_scenarios/lqt_fa12.mligo.tz +expruBi6wgss7SRmpBCseBzcu3L283Jfx2CpUjgfuT2MgsozUsvBwt michelson_test_scripts/mini_scenarios/multiple_en2.tz +exprtgxcdQP1EVvEYN2BHjbqTvwzywuYAdCmnfVgeP9zcgkxUrmScN michelson_test_scripts/mini_scenarios/multiple_entrypoints_counter.tz +exprtw9v7A9CwKaNKQFVYuwtYbSkcnMWHeV2T4bMY71P31pgrf7v7M michelson_test_scripts/mini_scenarios/multisig_dest_entrypoint.tz +exprusoefPk2e7L24cikJeYJPb6EfMKwcmHXWRYmUDZ38s9FRjyQUt michelson_test_scripts/mini_scenarios/multisig_dest_entrypoint_arg.tz +exprtqmA1RUirUeuGYz9aUFyg161DjfMXPjxtrA6Jrq2dTs59j3Ft4 michelson_test_scripts/mini_scenarios/nat_id.tz +exprui72n1Jur5Px5ESXgxiF9Uw86DsoXPt1edGDpSv4CvnuPCtBPR michelson_test_scripts/mini_scenarios/noop_bytes.tz +exprtzYM9ERr612k6ZBwGFJYHYcFbrG44y3KsanKg6Rz5VtEV7vUZK michelson_test_scripts/mini_scenarios/originate_contract.tz +exprucgYdABPRbbq2yy2rpyt4Z8fv7PN4yhkch3QYZ5QQ5ehbtNA4K michelson_test_scripts/mini_scenarios/parameterized_multisig.tz +exprvEkEGDttTD4uzRXGtJ9Usq98M9Y27B8wjrSD4YkhsZ17kgEtyu michelson_test_scripts/mini_scenarios/parsable_contract.tz +expruyXnWo3aJfqo9Z6ycLDjyJygYCeH5JUrchAfFHZcvU1ebtDBXx michelson_test_scripts/mini_scenarios/receive_tickets_in_big_map.tz +exprvJ8zXaBkyXMhJ2eKtPwdwbg5NLrggvW8MEpVK3hk3nAe215PQ6 michelson_test_scripts/mini_scenarios/replay.tz +exprtuiYUMjM6d8XxPda1yfKeN61ko6riom35PzybC31NKXkVhgBQy michelson_test_scripts/mini_scenarios/reveal_signed_preimage.tz +exprvHREG4G45HEucJxKDgc97zKvtHSHH19EJNGJdTvTjPD4xVW64f michelson_test_scripts/mini_scenarios/sc_rollup_forward.tz +exprtjCFzmoU7Z5DAfA2NX69CdWG68wmgLUKgsNY4THyjBU4kofTF8 michelson_test_scripts/mini_scenarios/sc_rollup_mint_and_forward.tz +expruB4maBvk1y4JaeSLpDXWC3zKiXK5QFYv4B3R5KfdGEt4B5VvTT michelson_test_scripts/mini_scenarios/self_address_receiver.tz +exprvTG7hjtWXeogStj3pzM1MCVcNg1q6KnivqNVzQjviUrJvsjfQn michelson_test_scripts/mini_scenarios/self_address_sender.tz +exprtahxrrP8ovDPykXLtbNsHGKTA8BwAvcwKCZR9LZtomdEfMaRDP michelson_test_scripts/mini_scenarios/send_ticket_list_016.tz +expruPp2RQZWq4HoEZ8UzSeMc2C8WDFpd5KzwgvPYNubSjbGui7bHX michelson_test_scripts/mini_scenarios/send_ticket_list_multiple_016.tz +exprvLTHbFX1yKGLikbkxpUuXzu3zoKTh3Hveg1uFg9YBauQWWY8Ts michelson_test_scripts/mini_scenarios/send_tickets_from_storage_016.tz +expru6tUaVWpaR7D5invwY7inJnPZGPXTcDqFvirrHPMRxSeHki5Fz michelson_test_scripts/mini_scenarios/send_tickets_in_big_map_015.tz +expruZQmVUQpyeX1RJbTjGswm4L3xjH93Pbo1bwAgH3yqMCfPeb9BG michelson_test_scripts/mini_scenarios/smart_rollup_mint_and_deposit_ticket_016.tz +expruSijXeDKWECoCNHi9UBxX4HJ2UwdoRVKKeryux64D6hajHw555 michelson_test_scripts/mini_scenarios/smart_rollup_receive_tickets_016.tz +exprtZPsTsBtNf9hjv7Yfda2EV4Sz3iaHpk4NkYHcKteXbsyQ9d6pH michelson_test_scripts/mini_scenarios/str_id.tz +expruaFvFLsin2MWRuDkLRfe56pdPTUQ8RK9k1ks1rUTjBnwryPyPx michelson_test_scripts/mini_scenarios/ticket_builder_fungible.tz +expruMFhigCZpXrGaL5sMyjGw5k7CanAa7XRkHFemCoCwMfJFJjDuD michelson_test_scripts/mini_scenarios/ticket_builder_non_fungible.tz +exprthFU1n1xhXLi4D2G4andPJsLcem1g1UtKiKJjXkCfVHztC393b michelson_test_scripts/mini_scenarios/ticket_wallet_fungible.tz +expruoGtEJH3sXXm2ruNG6DGTFE3GM6fjAS6fzDZKtdaMnRzHvi3Xd michelson_test_scripts/mini_scenarios/ticket_wallet_non_fungible.tz +exprufmCT3yVRjmsPS9f8eX3ZAbbUhdmUccDMWgdtSNA1QRx1i1U2s michelson_test_scripts/mini_scenarios/tickets_015.tz +expruzkvr4K2JgDWJqjwT9B1epNG1aDDjmvh6UN2kmecs3d6yHPPAN michelson_test_scripts/mini_scenarios/tickets_bag_016.tz +exprteapARTC3TcgQgBLVei9HoTq28M5xLbaEjmBaiUt46ipgP2TEq michelson_test_scripts/mini_scenarios/tickets_bag_implicit_016.tz +exprthATKGK2oc4oVbEDM4TYgJ9wHRsgbP4QwdpgwaNbjvswCeP3iT michelson_test_scripts/mini_scenarios/tickets_blackhole_016.tz +expru3BvEZn3LQEeUGjADWtNsRomSDi7LumwBDZEPnqo7j6iTnC5G1 michelson_test_scripts/mini_scenarios/tickets_create_and_send_015.tz +exprutzAruVCL3YX7JEwZf6bJ9Tq4bj19vWR9S3wofjNFXga1LzQSd michelson_test_scripts/mini_scenarios/tickets_list_blackhole_016.tz +expruhv4oofRVia4jt9hoTcYyohmNPiFqHTGTAyquyWu6R24eRdbEu michelson_test_scripts/mini_scenarios/tickets_receive_and_store.tz +exprtfF4hinrA2UJXB12eDnXV2ZjGAXX5ADneq5ezkuVi3PJvVFwnN michelson_test_scripts/mini_scenarios/tickets_send_016.tz +expruTjbiyNePk21v9BsharZPaT7xLkTzwTU5aSeHya4pXqn2DTBz5 michelson_test_scripts/mini_scenarios/tickets_send_with_tez_016.tz +exprvRXkn5p6qw3T7mjBud9XCDsgDGmyZZzMRscNAkaG6F1CitPYgz michelson_test_scripts/mini_scenarios/tickets_store_fst_and_rely_snd.tz +exprtnBz8poqNTrK4rzTXZFKQx7HWpx4WidHB5wxcM2oTS8NcrkAUt michelson_test_scripts/mini_scenarios/tzip4_view.tz +exprvG3gj2DnewiiqoLMpo9g5bHLtbk9NgqinPgGezHnpfK8jqGsm3 michelson_test_scripts/mini_scenarios/very_small.tz +expruws94oEpYqUjzea9obsa9j5tF4wtccbAPnRaLHRkL7G2gWa6Y1 michelson_test_scripts/mini_scenarios/view_check_caller.tz +expruFec7jRXa5z5sdoYyr6RUK4Uw8xwgXHYQhDF39mciEdoyVgcX2 michelson_test_scripts/mini_scenarios/view_registers_callers.tz +expruBgdNVqgPu4YL7fzivE9BYu7vQvbuoe8V9XwqVbWj7p6M5egCj michelson_test_scripts/mini_scenarios/viewable.tz +exprugya6ngixBfjyxV28ffnC8jmJPi4vbJdqD1aVUx82YLhzbH8Tn michelson_test_scripts/mini_scenarios/vote_for_delegate.tz +expruaKedvXmhg6wbV361DHykomz5dPqLi473KxBwJwyicEnKMhpb9 michelson_test_scripts/mini_scenarios/weather_insurance.tz +exprv9PvyjnsPjPCg5f13WtBiuD3o6idDAVWU6QfPtdWMjCLGRpwTh michelson_test_scripts/mini_scenarios/xcat.tz +exprvKm5t6a6LL2d3HjvRiJumGrGei24aRXscJk3zB1hs516Ju4oMZ michelson_test_scripts/mini_scenarios/xcat_dapp.tz +exprucvy7NUDPu2yTWEA6WVsusEZgGRmU1WpVzrFnNZV7m2H8BVysF michelson_test_scripts/non_regression/262_bug.tz +exprumT8doqCpoTqPAuJa8dsnrC7giaz6aGnMkJDF9kg8j8mBEafAC michelson_test_scripts/non_regression/843_bug.tz +exprtyJrKmrcvMroXNvbNSJr4hrWcLqa6QHmKSSJLMNqe1nueq1MSt michelson_test_scripts/non_regression/bad_annot_contract.tz +exprv3FvpUYzomvhmzxsQyuR1katpswNnicQZB4jA5uec3MERXk1cB michelson_test_scripts/non_regression/pairk_annot.tz +exprujPzkrPVucSvhHc1d9xm6kcs7oggkQyJXN8L2Rj3fteEABAkTe michelson_test_scripts/opcodes/abs.tz +expruNtqq51Lm75X61pxUx7P2FyR2uyUKLsZNHMXWx6X5rsyJ5M6WX michelson_test_scripts/opcodes/add.tz +exprupWD554EpqFBjo4KUpTqrfQcJAHqr3ijKmv5cmLRJ93Q1SgwGX michelson_test_scripts/opcodes/add_bls12_381_fr.tz +exprugu3H5MPrpWJRZMPMGDM3Dbvykaa1fHejEvYr7ePKaLtahjQV5 michelson_test_scripts/opcodes/add_bls12_381_g1.tz +expru41eYPF7gPvBRAtantBxbFU75RqBEwHPZ7UeX2EgHmExRoA4dh michelson_test_scripts/opcodes/add_bls12_381_g2.tz +exprtcPYR7TZHxzcpmZWjjLgMWp6CeRWAxQ5Bt2bgpUK5uKjmNAdzL michelson_test_scripts/opcodes/add_delta_timestamp.tz +expruLFQ1mcR5sg9sqyFHThknANoBeL4C5HFGgH55MqwPBEb1TUxLt michelson_test_scripts/opcodes/add_timestamp_delta.tz +exprtz1uUW5sVUVaKNLhPaKGjA7jK9JmzWBCQu5Xn1MC3aS1FjTUmK michelson_test_scripts/opcodes/address.tz +expruskF2nSeJeBaVHZsp45yN7mer9a4f8fAUBYvU3oRzbmpm5cVmt michelson_test_scripts/opcodes/amount_after_fib_view.tz +exprucSgNGh1wkijmUcjLdifceE7GeMdLnxL3JZKpbxAmzF41ALo91 michelson_test_scripts/opcodes/amount_after_nonexistent_view.tz +expruUQ1z6YqZM1baKofNLYhK9nocp9puAXCo4MYzEkQPbQcXTnajq michelson_test_scripts/opcodes/amount_after_view.tz +exprvJ4NRS33cboLuTx58f3sbYpXf1m7Cq2ou9gpCh1k8foaCZAoas michelson_test_scripts/opcodes/and.tz +expru5BXwmdpWQ3WDKA24g6gYGwLxPc868wKkdeAaGh899nD77Uxwn michelson_test_scripts/opcodes/and_binary.tz +expruthG9mteYkv8qKgRq13VjZTvbjtJYt1HmQg8HktkvjCvKZgdhR michelson_test_scripts/opcodes/and_bytes_016.tz +expruL6aKRTXN2hWb9EXLuJASu7nuBGJxL7VyT1oEjX9b2s3u6Y5Ff michelson_test_scripts/opcodes/and_logical_1.tz +exprtpYYuLewZWKCK1aPb9gfYSiPWSaeXRM4P2e4rpa6UktVueB1uf michelson_test_scripts/opcodes/balance.tz +expruWVQymVzetzkRaBYh4thmdWCvzWZNqdGrCTinGxLn58rPXDkgC michelson_test_scripts/opcodes/balance_after_fib_view.tz +exprukgm7LHJiEywzSseHXp23nXM5Y9GfJ61ULij58BgRQ4nt3bYYT michelson_test_scripts/opcodes/balance_after_nonexistent_view.tz +expruggCnM7PeEcUr2BapBmFMhD1QGvEoM4dUfyxp2u64ic1fM9SYN michelson_test_scripts/opcodes/balance_after_view.tz +exprtZRAy4QHqpF8c3CusD6e1kxWA3KAUrmgeXndfQYSEGArDmkWUm michelson_test_scripts/opcodes/big_map_mem_nat.tz +exprugsT35M51mCw6Fim3ysNKpCh8JyW9m7CYW65QQ7XUEDmspqz2i michelson_test_scripts/opcodes/big_map_mem_string.tz +exprvN3tk4o5YPYJB6aYAxEx8KU93yNSaw4K6mbEZZh9RQayua6odv michelson_test_scripts/opcodes/big_map_to_self.tz +exprv712JoEC7RRhoP7gbTUiVgLbtAgHmenwa5TqhVykDZ3e538MGU michelson_test_scripts/opcodes/bls12_381_fr_push_bytes_not_padded.tz +exprufF1yaR5QHdy8iECBLjhBtDZVLiEjZRuJntSkXjsrJRYozXLmW michelson_test_scripts/opcodes/bls12_381_fr_push_nat.tz +expruSVRATSSsbfHowLHGs5XHms95RuqBWSdDJoUKdns3fWbwasU1p michelson_test_scripts/opcodes/bls12_381_fr_to_int.tz +exprvTBYxSJ7d1z1aZvvAgPrdZUXHzoFxkwBC7McES5BS56xvqkGXg michelson_test_scripts/opcodes/bls12_381_fr_to_mutez.tz +expruTppbXBm1YHSCB4uYv9MQs6zxqRWqbkwGWoiKfF5Sjj5n2TpJx michelson_test_scripts/opcodes/bls12_381_fr_z_int.tz +exprv5Si29PfXErNuJdEvJWQhWRJ3qPETygaWzRE3ctmCU4s6y2V9v michelson_test_scripts/opcodes/bls12_381_fr_z_nat.tz +expruRsYz6JopAFGU95WfFU61SE3RbMGn3XPR9PFiTfLbgQr2kzu7u michelson_test_scripts/opcodes/bls12_381_z_fr_int.tz +expruyE3E3o8EAptRBZtQAB5Kv3sxUZGv7DK6CpJ2YdotQj9gqW5wN michelson_test_scripts/opcodes/bls12_381_z_fr_nat.tz +exprui72n1Jur5Px5ESXgxiF9Uw86DsoXPt1edGDpSv4CvnuPCtBPR michelson_test_scripts/opcodes/bytes.tz +expruxed4mBnPkdz81bZmzgQ6wFEEdKZqFazTkD9cTGWAuHAB2HTfA michelson_test_scripts/opcodes/bytes_of_int_016.tz +exprue485QnZ1W1ctgYRzPCy3pAcQmUAkAGGp6StowguHVCqMCVo7E michelson_test_scripts/opcodes/bytes_of_nat_016.tz +exprtvRRYmpToi9y67ZzNmgjtdrgNkwVduSnBi7GZVrsmgDna8TSjB michelson_test_scripts/opcodes/car.tz +expru5dDnxp1rhgXGmKigbLJ9ASaVHbkpkL6gLggtk9krgYC3jusc8 michelson_test_scripts/opcodes/cdr.tz +expruxH6gEuBmNzg5nWEM4tv3jMBbknbEtTHKTPMeC4EBdFdujbRph michelson_test_scripts/opcodes/chain_id.tz +expruGhHABGLz2wxAyyx3RpfyKHa8HE9voC19vLiAKYWYMMsUUTFdd michelson_test_scripts/opcodes/chain_id_store.tz +exprtjDuLEzh8dcjpCcJiiuKXDdG3XusjuuURVCh3JWKBgjJGsVsMs michelson_test_scripts/opcodes/check_signature.tz +expruHKTiWeY6mty7RokwdyZdwdzHQbu7udbbZbpu3C8h9n6jXnp4v michelson_test_scripts/opcodes/comb-get.tz +exprtsyJo5ceZQM76zpAUeTren1YnBxw2MNDKmx8k11Ejai8T296Sg michelson_test_scripts/opcodes/comb-literals.tz +exprv733yfMh1C9uyuAJJP66WPQDXAjjfcTcSfHhbboJnz6DUCEh41 michelson_test_scripts/opcodes/comb-set-2.tz +exprvHamsTHMJKF6ohaSAwdgp2Sv33LGgYnjase3LUcwXKnJfh53wn michelson_test_scripts/opcodes/comb-set.tz +expruufsxtik2vxyQfL3QKNWWH9TnJZgGx1ELi3AR5L3LM71uqxiP4 michelson_test_scripts/opcodes/comb.tz +expruKknV6VYzPHkSxc3EFb488JPBfUX1UHsJUzceaGFafdnbgsKw2 michelson_test_scripts/opcodes/compare.tz +exprvGXTYwatNh32w78r83SuLAW1YQefufYN1Bcu9AZ1BLDUU77dKR michelson_test_scripts/opcodes/compare_big_type.tz +expruR3ZCLJTuojpTuS2sR3SGxqait52kXQNKfy8bipv69b2XJZG8A michelson_test_scripts/opcodes/compare_big_type2.tz +expruUDL3EP43hFhcdCZD7K1xvfPtiNWfkU2Nyq8jmr9XgZuXqWXc5 michelson_test_scripts/opcodes/comparisons.tz +exprtjqEmEBnmG7yiDXn224ER9bt4qh18LF4LzFSfoeuo1cbJpNBPy michelson_test_scripts/opcodes/concat_hello.tz +exprtqd5qPLeh5Fi52YdkgWuvRXctgUoxU1Q4JDB2VseRk6DAEpMvd michelson_test_scripts/opcodes/concat_hello_bytes.tz +expruv8MHvRmp3ipXYRyyP4aEE4iFHWsNZjNQSaCWUt7fwbgLeFBXY michelson_test_scripts/opcodes/concat_list.tz +expruYk7GXYQ7bKbUcqcHDKs97USVBrxAkzSo2Bkj5AXVjSawDkNAS michelson_test_scripts/opcodes/cons.tz +expruMW9W9kkb2JaQWzKVThky4ULQ6ckgLzE2xD49XUp5E1iwWfUbe michelson_test_scripts/opcodes/contains_all.tz +exprvDvotLP1G2qjPJiqz2RvVUm8wJ2cEuFvKtm7YUNW3w6krDponF michelson_test_scripts/opcodes/contract.tz +exprvNrgGoLvfEaXw6QmjQrkXESpWo72JHR4G4mhTJy7Y266YXa3fe michelson_test_scripts/opcodes/create_contract.tz +exprttdxhC3YwJ9SGJNTDMQRpyWX1KwqAUuPbkQHX3uMPHNt3GKkZK michelson_test_scripts/opcodes/create_contract_rootname.tz +exprttdxhC3YwJ9SGJNTDMQRpyWX1KwqAUuPbkQHX3uMPHNt3GKkZK michelson_test_scripts/opcodes/create_contract_rootname_alt.tz +expruxUAUoijmC6A4rZK9XHcQL4WmgreJwT17hrgpuYkg1VeELBdbF michelson_test_scripts/opcodes/create_contract_with_view.tz +exprteqmco8PDGH1PnTGgF5jPjBPCYyZfyvER2ULtv2y3MRgGdcP8T michelson_test_scripts/opcodes/diff_timestamps.tz +exprtt6joHWnYr4AAW3uem8nzbxYgLcSpEJtaUT66qWchoKPS8sFXx michelson_test_scripts/opcodes/dig_eq.tz +exprvKBfwAg4hVHrTtq3UV8AunaqUKxAkvx35TScbZDARNSgH737Ck michelson_test_scripts/opcodes/dign.tz +exprv8t3ZfoBs6B7LMeFNN6U4PRpE1M6MhdtKPT5keNZT4je3RBadj michelson_test_scripts/opcodes/dip.tz +expruncwh1qqNqSwq6kHYXfwhQyjpuJjbernTsyHAMnaLjU5h3qjxr michelson_test_scripts/opcodes/dipn.tz +exprv62zo2ACMdseAu1HKzDDLSjBrYr2nZzi36PCTVJqcBwSdvt4yU michelson_test_scripts/opcodes/dropn.tz +exprujbvaRkoroj5eVgboUyeP3578oJgScTQ78eBYMgfdLVaGWPPTW michelson_test_scripts/opcodes/dugn.tz +exprur99uFkrwM63FXSTqSTypHcfEmzb5KQ9EypTRqZWDY5NP6tCHL michelson_test_scripts/opcodes/dup-n.tz +exprtarW6tiguR7YAo6SxhCUDs1pLDhx9xJEG78h6GnXLAWpt3H1pT michelson_test_scripts/opcodes/ediv.tz +exprvQhRaLYxiWN3QsJgT6VKf6DmGVuXR8DxeU63P9A8iNWA4TVQfs michelson_test_scripts/opcodes/ediv_mutez.tz +exprtuM993oiKiYWoztZwpAaUuvDDcx9xDX31Q88kpuo7owk6Q8JeR michelson_test_scripts/opcodes/emit.tz +exprv8Sy3DsiKMm3ZQPmi46kZGn9ctTigpLB2t6xYFdYkkeVHMXy6z michelson_test_scripts/opcodes/empty_map.tz +exprufqf2G8PoZN768K2YGex6M7zmz7bYHE5LF5QHJBVvFtAFLi6qr michelson_test_scripts/opcodes/exec_concat.tz +exprucYyrHMR3wgJLwFq1o6GPuByry7sroRiBPrt58fz3dRSRSzC3S michelson_test_scripts/opcodes/fact.tz +exprut53jocMPdPP8FXrKRDYSoRaxk1FXqCt7o46ak2wQaocjsSwwx michelson_test_scripts/opcodes/first.tz +expru5fjTGWP1BXZz3BbbEFyDFkyZGJKHcZ2Y6jDT3CdHHp81n6G1r michelson_test_scripts/opcodes/get_and_update_big_map.tz +exprua5oh3PDJEPQbEsnbHYCz6L7bY6kNvpyhEt7Cg9sPsrx82UmHQ michelson_test_scripts/opcodes/get_and_update_map.tz +exprtgnkjSH6Tdw5C1BMKr8kCJjEnxCfMiaAxHTVLnEcyCQ6WmJ1jr michelson_test_scripts/opcodes/get_big_map_value.tz +expruv8JdHeURNpuLHao37SGJauDPwB9yxFXUaL6hNCdXGzbHSqCZN michelson_test_scripts/opcodes/get_map_value.tz +exprvHC1MDkeqCNL8yrN74nmqk5qrZCvR42qoVUxYCB4ALpgDfmhbL michelson_test_scripts/opcodes/hash_consistency_checker.tz +expruzeve85eDLTpQ1EbgrQQcEUft7AGauZBwtK1ibuvJpwmZt9AE8 michelson_test_scripts/opcodes/hash_key.tz +expruycqvZn4ufKjVQmYXcCfAfm7C81zN3BAqxuYVVfnpFibSKsahG michelson_test_scripts/opcodes/hash_string.tz +expru34ooMhYSarFg7vZCe1Y23jwfxfHiDqwaE1wGXC48yjB21PLi1 michelson_test_scripts/opcodes/if.tz +exprtmbKAmbV2XioTbmpJQpg9QDAxXkTBXmKRWdC8zbk8CWAtVXwAc michelson_test_scripts/opcodes/if_some.tz +expruTGRZeiojz3Rrr45KUcwtpJuJYu6U8pxi4DBZpL2kGavVxxM4H michelson_test_scripts/opcodes/int.tz +exprtu4Xbe67UZyTubEtKx83bMyQGXDwBibcdgLF5hftZYTEL2kSst michelson_test_scripts/opcodes/iter_fail.tz +exprudLYgw6yWSrTHpXYsg9NcZxGGpCxdNFbNv7ksr6Ss8rNmh2fgT michelson_test_scripts/opcodes/keccak.tz +exprusrBf5Sakr6dRngzuPmwsP28X6W56nVqCXqG1Jcfrd1SYwPRuU michelson_test_scripts/opcodes/left_right.tz +exprvHZpmtBKjjsUZmchx2RTLmFAZnYKCnHSKXaKUdP5EUpiPYwsp2 michelson_test_scripts/opcodes/level.tz +exprtkasRZbYRQg7WKnoXwJnRwXkvmjZEY4yPYXKGAQQFUupt5VAmt michelson_test_scripts/opcodes/list_concat.tz +expru32VE4LnqAqhbpUFCdgEdRSHjLQipkXTjn624fL41yk3a4H5Q3 michelson_test_scripts/opcodes/list_concat_bytes.tz +exprvCkexzSQFgEWkFvrkrQ8wATasfkbKCyeXYSM4qZft3g3UuoTBi michelson_test_scripts/opcodes/list_id.tz +exprtbHaLLF4cUTh4VCjtnH32EAA2AFwvPBsCzUTgrrdofbotKMyr7 michelson_test_scripts/opcodes/list_id_map.tz +expruAxpePKSFaGkjukWx4HEZAvXaWvyfyGyxCfhvK9tZjkPNSpZ1m michelson_test_scripts/opcodes/list_iter.tz +exprvSCwmQGBkxgu2Tg5rYUXbyv33SpUskCJS7sPF4LN7e5pQ1fn7z michelson_test_scripts/opcodes/list_map_block.tz +expruu6vcnLhDhSkSo8NNNJWQL99VCFr6iArtKrmavJWSNkQwDJsKC michelson_test_scripts/opcodes/list_size.tz +expru8Et3hTjxKQpydKSThjR6fXSmPEmZDjBTNhTAbuyNjcPYoUQUL michelson_test_scripts/opcodes/loop_failwith.tz +exprv15pFChKhH3QKoJn5BCT1bP4R7DjnXWtTDsSfwf2eVonZNxzZs michelson_test_scripts/opcodes/loop_left.tz +expruAKUrHWCxb3qtVQ1a8qDzrS19HnTm7bS146AztFHekvpqbehaU michelson_test_scripts/opcodes/loop_left_failwith.tz +exprtch5jHa718ipv2f28nbAQzQxk5LneyayirKxTBf8Q4gtS1XNGo michelson_test_scripts/opcodes/lsl_bytes_016.tz +expruaRKkzMwKE6uDBPyUZ2u9nfKo1HenCVQLkBvevtteAxh7ey3w2 michelson_test_scripts/opcodes/lsr_bytes_016.tz +exprubosuA8peKBt4EEo1RsYjxSxK7HXytSkBFAjns5Zg7ncicPWrC michelson_test_scripts/opcodes/map_car.tz +expruqCpEBS2R8FqpBfDNUNrPhXZr39CBL6zKpyMogJR94sve62iv9 michelson_test_scripts/opcodes/map_id.tz +exprtb1QBmNfCYjce9FnvKdikbtgqcN5o2VdVwZZP2Fmy8C3TJjA7q michelson_test_scripts/opcodes/map_iter.tz +exprtuspLRSrYnp2FyqNcLfsBrBBFD8nnFog2Em3p7tfG4DcGujS3f michelson_test_scripts/opcodes/map_map.tz +exprtipeMFcMFwYRAmzZBMoUjrtPYDk5ZyhMSyuhSgfiJV5UNAcLGp michelson_test_scripts/opcodes/map_map_sideeffect.tz +exprtc9HPyzpfc71TE4a8UbRPxfdm4WGRPNQhfB5fHiWwkh1aA8uzm michelson_test_scripts/opcodes/map_mem_nat.tz +exprtrkfCSUckShrEP5TmC5Y4CdeU35FFL7R8kyJHQUFZ4DNdJZasD michelson_test_scripts/opcodes/map_mem_string.tz +expruqncptpX6oXeX88mAkVHh9DnzWb6vPwT6LvuND9yobgcH5Gd2x michelson_test_scripts/opcodes/map_size.tz +expruZ7Tb7uhcAu3MhiDJFWrJiYseWyagZYEnzjEdpjSei8i73hsfG michelson_test_scripts/opcodes/merge_comparable_pairs.tz +exprvNxEfUTwaryUzets4qyTbHAfNPb5ARQsMsxbm8CnGNHDedqxgy michelson_test_scripts/opcodes/mul.tz +exprtYi1xHmB1AY6j4e3XTPvXpmuWnM4b4o78yVihYt1i2yNjrQqhY michelson_test_scripts/opcodes/mul_bls12_381_fr.tz +expruFTKqYqMmWSakzE1gjs2p8kWtcRWTaddkYL5p2Z8wpcCfe5ei1 michelson_test_scripts/opcodes/mul_bls12_381_g1.tz +exprvBDM3kep2f7bRkhRa2XWt9sdPGJ79sq6TdWNNnM4yydTQ88TaH michelson_test_scripts/opcodes/mul_bls12_381_g2.tz +exprujbPsZAUa1tzgWNgeHEQ22JXDfNhkgx6sCCxbWjYoNWPbTvwhy michelson_test_scripts/opcodes/mul_overflow.tz +exprth31LKm5FDFGxcXg1Rv9z9YeAQ8eu2oYTh2zZ7kJas3f5CWkZm michelson_test_scripts/opcodes/munch.tz +expruP5gECQdRLkmuYg8xqvEAdE4oRGFjDVG3ZkWxtCyxve1jviw6k michelson_test_scripts/opcodes/mutez_to_bls12_381_fr.tz +exprtw9PgkJCxyqdLjuA4dEdRjQXY7Ge4a7jjd2UoU6Q6KrvhFgciM michelson_test_scripts/opcodes/neg.tz +expru5fYi1tAG8a9j2dYT561dXaox8wYjsZDZP18xPa5JN3bUNfHWS michelson_test_scripts/opcodes/neg_bls12_381_fr.tz +expruY94PxNhmT8BeyGrFurRF6gC7XfgsBY9Vjh6hJyiDPaR8nFmri michelson_test_scripts/opcodes/neg_bls12_381_g1.tz +exprv9bM4xnqjA33RkvUzz8ZppJXT32KdNXoYqY2NSh7whBcFPn2QS michelson_test_scripts/opcodes/neg_bls12_381_g2.tz +expruZzA96Rh5o6HBboygY3iD97dgQcepXd45WBBD4DYZ2qcn8cxyY michelson_test_scripts/opcodes/none.tz +expruat2BS4KCwn9kbopeX1ZwxtrtJbyFhpnpnG6A5KdCBCwHNsdod michelson_test_scripts/opcodes/noop.tz +expruMUpBKBPGde4GfNLM8NgMq9nL6KsQXGA3LPt4C6wtMTxcUnE9A michelson_test_scripts/opcodes/not.tz +exprtnpHGyp2TurQb2YzbXBKTipXnrUQ4RrZwPxWfa1yMXS7oi49jV michelson_test_scripts/opcodes/not_binary.tz +exprtr3AhRfBVUibP5MtbenGDTEasfxSJAFsuYgkjmLqfpHnDahfWz michelson_test_scripts/opcodes/not_bytes_016.tz +exprusKUuYeoKXUAYtUhtknryT9MpbPZVZtbfUNCdRpXUbdzEzbwmN michelson_test_scripts/opcodes/or.tz +exprvG84juZWwLHTrhtvWFWBs8D2wZw6rfpoAbXp2pkekuCMAaPbAn michelson_test_scripts/opcodes/or_binary.tz +exprvN5DmSbMk2JQ9nNSEakbicPj4vfGP4N4iWo3yabNAFvqNxCAkq michelson_test_scripts/opcodes/or_bytes_016.tz +exprv39cZxxm6fTcFSbLcwpBbAPW56FPqjdf6aGm21KqGA6DQtwn6u michelson_test_scripts/opcodes/originate_big_map.tz +exprunveMvzjDskHYCvYJzDfRR9aGwwvXkVUMqTwSxJJbEjeq63c2D michelson_test_scripts/opcodes/packunpack.tz +expruKkmmajE1UFXRHXtntLZU8VvnLfFKwYPd4azsAdcrDMaq5zu9H michelson_test_scripts/opcodes/packunpack_rev.tz +exprtk9p4ur3KZK2w8ziFoZVHPABxQWZXeSNowcJuTauL3zTxr1zcH michelson_test_scripts/opcodes/packunpack_rev_cty.tz +expruSamDrL2Dh4zp92cVgfV7ETT7VcnqACDVcvnafi3qgBZq9v3PL michelson_test_scripts/opcodes/pair_id.tz +expru3WFEX5bVjBUkZzuWspLG18hy5jTzbr2WtKEYpfPHGpDFvcqhd michelson_test_scripts/opcodes/pairing_check.tz +expru2U5Bi7ehgkQvP7Qmij4c8gkSFUBNtiCyXMX3WwGjEdRRZc5x1 michelson_test_scripts/opcodes/pexec.tz +expruPr8QtATywJFqPjDhF7gyqdF15L6J7pxgpypzorEvtubdJN8U2 michelson_test_scripts/opcodes/pexec_2.tz +exprvBUenyTMJKwERZ1ULzMVrJ1owqymBF32f627arqtFUzMpaMvbC michelson_test_scripts/opcodes/proxy.tz +exprvPaPcYHvKmnyBMaYXtp6ZuaSEHWr5y92bcroKKppAZvF4RvcWE michelson_test_scripts/opcodes/ret_int.tz +expru8MKLXqiNRYnPccUN4if3VnWfthDy24K4zuJrFh2JaMmmh6Rii michelson_test_scripts/opcodes/reverse.tz +expruta4Bjo3FggDcvZDzEVwzeTcdZptzkJZyFEkdB8suFGbMVtT2Z michelson_test_scripts/opcodes/reverse_loop.tz +exprueR2MPCHUFtPjMZXE57X3EsysuWJXGRz8ZgcPJj21UySLqULV1 michelson_test_scripts/opcodes/sapling_empty_state.tz +exprvSNMswzVUk47vqs4wTGipDb3qDKVUwNBDwXtGzjCprEYx4nWPo michelson_test_scripts/opcodes/self.tz +exprtzokY2FHvPvB9YHSi8MM5YUbPdUPLi7tEKkp8BKongPb2zrZch michelson_test_scripts/opcodes/self_address.tz +exprukm3NvsYbS9ymX3MuXh6LciuF8ef2qt8ktTGaXtyFxCpisMBdD michelson_test_scripts/opcodes/self_address_after_fib_view.tz +expruV4HCC6sRdEL5HyXVC9gTkMZbh8BnxXsKZDTydtztRhDUT3qxa michelson_test_scripts/opcodes/self_address_after_nonexistent_view.tz +expruUWxiqrD566farETUi3VChWNZ5teemC3q4G8tf83xhjTwRSEws michelson_test_scripts/opcodes/self_address_after_view.tz +exprvQ8rhMFcCrwNSLZERQSQ9TMR1Tsnyj7R1jS8J2UESKXUoJuLTV michelson_test_scripts/opcodes/self_after_fib_view.tz +exprvKoMUnUmthGpVmQfYkLa8F6GRwmU36D9jYXNG8j8QbQYNWUoAC michelson_test_scripts/opcodes/self_after_nonexistent_view.tz +exprtXqpN6sqTKUVNissE3rkzKGSBuW2gTh8pRb3XyHZ4dpaAqLnhL michelson_test_scripts/opcodes/self_after_view.tz +exprvDVUQXNsfs9FiHkMSofonWCWcBfYbfxeQy9DRaa5Tnbw1XM18Y michelson_test_scripts/opcodes/self_with_default_entrypoint.tz +expruXGf2YpXKkr74mcv83fQ6bztVD1RBoFXaEnAd9bidnRXcfD3Nj michelson_test_scripts/opcodes/self_with_entrypoint.tz +exprudmJ37Q8ZASPbZSSBfy5UezxLhniszTVkLAB8QKvxkav4gVVYr michelson_test_scripts/opcodes/sender.tz +exprtufbuVP6RKm1PGPUQnZy6dqwxCha1jbafqyVGpCUNWeUVpcBhc michelson_test_scripts/opcodes/sender_after_fib_view.tz +exprug4Jd1WdLqrZWiG8PsGDETN1ahpX5PycBrdNWadM96M5SjvLae michelson_test_scripts/opcodes/sender_after_nonexistent_view.tz +exprvR3pRxvwuwM1c4Jk1zRfuDabRPwLnazpSsySQkzymatANufH9h michelson_test_scripts/opcodes/sender_after_view.tz +exprurSxmHBRCHUxtXcqNkPA8UE6gaFeJa19bBhq1CarZ3CZuAzShs michelson_test_scripts/opcodes/set_car.tz +expruogQk6tG5W7CtZrcMzsRtJ1f9moG9y5Qg5j29NATiaSywvQCcS michelson_test_scripts/opcodes/set_cdr.tz +exprvCt5LtbC3mLLWHdvyxGcX3ND21Ym5GayCvePEHHGXAtgWu32sJ michelson_test_scripts/opcodes/set_delegate.tz +expru133Wm63xA1qs5ymovjbP3N3iwPoTMcdUsbUqqbTf896jU78WR michelson_test_scripts/opcodes/set_id.tz +expru151wgMY5reA7WVbnvkHrh9MVnfYFbCDaiE2aTGmkKACu2ZbJA michelson_test_scripts/opcodes/set_iter.tz +expru13v2dm35MgMgTbwDJ4nEwNjRTau8mqztAyxGxXVbHNmskAA2q michelson_test_scripts/opcodes/set_member.tz +expruE8c9EzG6kYQdp5RQXrAt2CekSFXVtKUzNDUnpVTDygEBP7VvF michelson_test_scripts/opcodes/set_size.tz +exprtzSBcPatLYnGe5xtsSNGVjNBLMmHefxsQ7Q2QNjDMGmADKdWUC michelson_test_scripts/opcodes/sets.tz +exprteVcB53uqnwQsZMTsBojwez6tkgRqj1qWCQTLgaQWxQGiNWXEE michelson_test_scripts/opcodes/sha3.tz +exprvPbB5NtiV87RARduqoXtMoRjjy6jX8WYrfiu3RDjQrTKxPQnoe michelson_test_scripts/opcodes/shifts.tz +exprtnS2EjwJ3MdSWS7R6UbZMqFoUHj1JpUhhtJacXdfmmzRNHL33W michelson_test_scripts/opcodes/slice.tz +exprugZMQtZN7safMU7hV5QpM7nh7Vi5ur9sGjeWsmGRkW1ETox8uR michelson_test_scripts/opcodes/slice_bytes.tz +exprvCqvDAp66YnPaZDdaAkCNafoGtw1fEuWaLxMFeMnX6oqrb93nP michelson_test_scripts/opcodes/slices.tz +exprtzW4jh4MgY6iXgiCXft5q3Mig5XXANHn9CmcL8ApTrdnQgWzAm michelson_test_scripts/opcodes/source.tz +exprvD9HJMfLEUdamfH9U8ozBaxA7hYVRMbK7At6sUqFMmhZ6UorWv michelson_test_scripts/opcodes/split_bytes.tz +exprvJcmHwozD2DTtagjJJfyPgoCvBx5bMzXAkrsteYVvxeMr9SWm3 michelson_test_scripts/opcodes/split_string.tz +expruDY992zB37mWpZwFQCrfDbkwmrCmjSHD4fzQcW1z1AeWeW8M3r michelson_test_scripts/opcodes/store_bls12_381_fr.tz +expruZAkBxtwSXuMp6ZDNp41mJ6uZ4bw7RF9HNzJS9EnzTLxVhQ4SB michelson_test_scripts/opcodes/store_bls12_381_g1.tz +expruZfFC7WkBQhK4Ksg5k5WxBamF4PvH2NGCxcd4DHUkKfeqQEBUe michelson_test_scripts/opcodes/store_bls12_381_g2.tz +exprv8K6ceBpFH5SFjQm4BRYSLJCHQBFeQU6BFTdvQSRPaPkzdLyAL michelson_test_scripts/opcodes/store_input.tz +exprvStWRo24QuETruMmMqkmLme6UAMHuTRNNq9Lq65oFgUvQmJGPV michelson_test_scripts/opcodes/store_now.tz +exprtZPsTsBtNf9hjv7Yfda2EV4Sz3iaHpk4NkYHcKteXbsyQ9d6pH michelson_test_scripts/opcodes/str_id.tz +exprv4UZUuBDCZZjtW5kaezZjaKqpi1GN6vxHsvQNNkFktnaEbDb1M michelson_test_scripts/opcodes/sub_timestamp_delta.tz +expruVuXhQmoBMzZjPeY7VQSuJxefBBTuPyNR7PGnYhwouo9zKg3T1 michelson_test_scripts/opcodes/subset.tz +exprtz2jbsXuMMPAXYAGJZqjuBp8iF38XadE3YuZoC2W5NkyhhHMuq michelson_test_scripts/opcodes/tez_add_sub.tz +exprugbVFDGWcSSozyN3EK3AcdwtPeES3ao45HNogWc5V8fsJ8NsSP michelson_test_scripts/opcodes/ticket_bad.tz +expruwtzPEyCm4Vaq42Fct7QG5eD1MzXzkJbRqm6EVQH6YSV2QLkr1 michelson_test_scripts/opcodes/ticket_big_store.tz +expruqx789AMcKUYwDeeeRvSnwdCw8gMVvWA6vuzPzBQwBM2qcDXJB michelson_test_scripts/opcodes/ticket_join.tz +exprvMp1LX8aeyEq9NiMXGyD34J4offZDANGRwFTxoEWXumEsDdAP8 michelson_test_scripts/opcodes/ticket_read.tz +exprtvtEFi6v3awAwbHivJkjki6mDNivewiCBeJDJT78PqWtq7VyUD michelson_test_scripts/opcodes/ticket_split.tz +exprtifPFaLqHvR9uGWbeLj5r3YVBnKaawt12q3BMhM9wsUdM9dFNy michelson_test_scripts/opcodes/ticket_store-2.tz +exprvJGjz1EDdnAPWZQ7ZngDNDDDXnxA2VY6SHdHKu8LxqcVHd3E6z michelson_test_scripts/opcodes/ticket_store.tz +exprvDjqte3hX8aieidgPA2qyPWA5eYuVrvb3KKZ8aYkeDotovgkQ4 michelson_test_scripts/opcodes/ticketer-2.tz +exprvSU3oSiKqMLpWgBhwJZbEMDnvKiNW57MYQ8YG787N7jocXMEuR michelson_test_scripts/opcodes/ticketer.tz +expruhV9RSEPAtKAUhBbdTw5gPFdjcKk8zr7cVLSsGtmJuH3o7VXXo michelson_test_scripts/opcodes/transfer_amount.tz +expru3MSjYZRmQi3yiN6gYa4X6rs88XLWH4H8ivzrCvxs8z8cJfu4Z michelson_test_scripts/opcodes/transfer_tokens.tz +exprtbACDcFtDfEwsBA5LAG13uMRAjnQsFjzNELMS7jQ87bcqgdE6r michelson_test_scripts/opcodes/uncomb.tz +exprufJpS3BWpgv4QBaBEMucbn1jsVpdqEGLLMfXjDuKGPRGCpZUkj michelson_test_scripts/opcodes/unpair.tz +exprtqjpmEs9GUjSEzJYSnN3skiCb8js2bY48R9Lhxk9JW1CKnm6VP michelson_test_scripts/opcodes/unpair_field_annotation_mismatch.tz +exprv4ACaZe4aECCfG93NGVVHbQBNQ5Atxtju5vWASZSEp5sLECcjg michelson_test_scripts/opcodes/update_big_map.tz +expruWzM36ATA3fAee4WHDS4vvMeewkwhya1fZaa6HFPbjwt9vvGpg michelson_test_scripts/opcodes/utxo_read.tz +expruNCoB4n3KQTeXbDJWLwynT32T6dz2Nxw5f7SwaqRNkQSBog79A michelson_test_scripts/opcodes/utxor.tz +expruJxgC2Q8Ubt8tPyQbZ41j6w4b8yw5f6bxjrMMM81TmMC9x5Lrc michelson_test_scripts/opcodes/view_fib.tz +expru9EavkgPCUAwHccJf9j1t4aTTssPKoBkCqC4YNr12kxXSwqFqD michelson_test_scripts/opcodes/view_mutual_recursion.tz +exprv4QXQuZtQE7CpKyecjrXJ8U2ovU1qjUKtw37J6kAEmu3fAKyN5 michelson_test_scripts/opcodes/view_op_add.tz +exprugGjNh2tTsofJyhkNMrQVJnkyLydJywNVMAXL9rW3nhnCmRd3F michelson_test_scripts/opcodes/view_op_constant.tz +exprtn56ZZ3mXHoz9GMS9HGMfmgayukvVXub8zXeDKbE4U7L5L8dXX michelson_test_scripts/opcodes/view_op_id.tz +exprtaNDFRcdw8SB4Bz1a6CKARxZaoxpc6G2hnJYedp1iZgJqEwMNV michelson_test_scripts/opcodes/view_op_nonexistent_addr.tz +exprtmA9Auh8GAHpvKP2qkVhiaRCtokWcw7qg31CaxbouJW1g8yYK7 michelson_test_scripts/opcodes/view_op_nonexistent_func.tz +exprubMFU6xrnHREoXUZinEeV3PuZBjSw35M6gti7tyQ83S6LTKja1 michelson_test_scripts/opcodes/view_op_test_step_contants.tz +exprtj9pixxS7UHchhthZa8zdU2GAjvW7oA7QEMA3PHgf88vmAEjFb michelson_test_scripts/opcodes/view_op_toplevel_inconsistent_input_type.tz +exprurrbjDgnipRBhqb7pPLQFAgtPm5jrpwJjJL5ZvQyFJZzGvqteY michelson_test_scripts/opcodes/view_op_toplevel_inconsistent_output_type.tz +exprvSPcq1w7iTMA3LjQcHegnRUQ621sqQLRJm1Zh4tjHCkmeZV268 michelson_test_scripts/opcodes/view_rec.tz +exprv1LkSMvSyZSBrg9Tf2PdcoiWDYPz2npmYb7rH6bWx2sYMAHMgg michelson_test_scripts/opcodes/view_toplevel_lib.tz +expruF13NKWWyF51seiYv4tsb55dZHYViNWDKTmhLq9b1LXXenwaB2 michelson_test_scripts/opcodes/voting_power.tz +exprvSZMaiMSbKgRYm1W4rcoBGN21bPu8NMQuYBH9ujhXGeHhdtVGk michelson_test_scripts/opcodes/xor.tz +expruDwpzxhBEyYY2Tqt9HE9iL18wWJEUJtF9WnkfAyHg1mqkRqs91 michelson_test_scripts/opcodes/xor_bytes_016.tz diff --git a/tezt/tests/expected/self_address_transfer.ml/Nairobi- Self address transfer.out b/tezt/tests/expected/self_address_transfer.ml/Nairobi- Self address transfer.out new file mode 100644 index 000000000000..88b38d676bb0 --- /dev/null +++ b/tezt/tests/expected/self_address_transfer.ml/Nairobi- Self address transfer.out @@ -0,0 +1,141 @@ + +./octez-client --mode mockup --wait none originate contract self_address_sender transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/self_address_sender.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 592.748 units (will add 100 for safety) +Estimated storage: 339 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000379 + Expected counter: 1 + Gas limit: 693 + Storage limit: 359 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000379 + payload fees(the block proposer) ....... +ꜩ0.000379 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (contract (lambda unit address)) ; + storage unit ; + code { CAR ; + BALANCE ; + LAMBDA unit address { DROP ; SELF_ADDRESS } ; + TRANSFER_TOKENS ; + DIP { UNIT ; NIL operation } ; + CONS ; + PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 82 bytes + Paid storage size diff: 82 bytes + Consumed gas: 592.715 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0205 + storage fees ........................... +ꜩ0.0205 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as self_address_sender. + +./octez-client --mode mockup --wait none originate contract self_address_receiver transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/self_address_receiver.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 593.190 units (will add 100 for safety) +Estimated storage: 340 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00038 + Expected counter: 2 + Gas limit: 694 + Storage limit: 360 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00038 + payload fees(the block proposer) ....... +ꜩ0.00038 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (lambda unit address) ; + storage unit ; + code { UNPAIR ; + UNIT ; + EXEC ; + SELF_ADDRESS ; + ASSERT_CMPEQ ; + NIL operation ; + PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 83 bytes + Paid storage size diff: 83 bytes + Consumed gas: 593.157 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.02075 + storage fees ........................... +ꜩ0.02075 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as self_address_receiver. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap2 to '[CONTRACT_HASH]' --burn-cap 2 --arg '"[CONTRACT_HASH]"' +Node is bootstrapped. +Estimated gas: 2962.097 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000601 + Expected counter: 1 + Gas limit: 3063 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000601 + payload fees(the block proposer) ....... +ꜩ0.000601 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[CONTRACT_HASH]" + This transaction was successfully applied + Updated storage: Unit + Storage size: 82 bytes + Consumed gas: 1746.191 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [CONTRACT_HASH] + Parameter: { DROP ; SELF_ADDRESS } + This transaction was successfully applied + Updated storage: Unit + Storage size: 83 bytes + Consumed gas: 1217.087 + diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Create and remove tickets.out b/tezt/tests/expected/tickets.ml/Nairobi- Create and remove tickets.out new file mode 100644 index 000000000000..dfe0869ab372 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Create and remove tickets.out @@ -0,0 +1,220 @@ + +./octez-client --mode mockup --wait none originate contract add_clear_tickets transferring 200 from bootstrap1 running michelson_test_scripts/mini_scenarios/add_clear_tickets_015.tz --init '{}' --burn-cap 1 +Node is bootstrapped. +Estimated gas: 610.470 units (will add 100 for safety) +Estimated storage: 398 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000443 + Expected counter: 1 + Gas limit: 711 + Storage limit: 418 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000443 + payload fees(the block proposer) ....... +ꜩ0.000443 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ200 + Script: + { parameter (or (pair %add nat string) (unit %clear)) ; + storage (list (ticket string)) ; + code { UNPAIR ; + IF_LEFT + { UNPAIR ; + DIG 2 ; + SWAP ; + DIG 2 ; + TICKET ; + ASSERT_SOME ; + CONS ; + NIL operation ; + PAIR } + { DROP 2 ; NIL (ticket string) ; NIL operation ; PAIR } } } + Initial storage: {} + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 141 bytes + Paid storage size diff: 141 bytes + Consumed gas: 610.436 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.03525 + storage fees ........................... +ꜩ0.03525 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ200 + [CONTRACT_HASH] ... +ꜩ200 + +New contract [CONTRACT_HASH] originated. +Contract memorized as add_clear_tickets. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap2 to '[CONTRACT_HASH]' --burn-cap 2 --entrypoint add --arg 'Pair 1 "A"' +Node is bootstrapped. +Estimated gas: 1752.086 units (will add 100 for safety) +Estimated storage: 105 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000453 + Expected counter: 1 + Gas limit: 1853 + Storage limit: 125 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000453 + payload fees(the block proposer) ....... +ꜩ0.000453 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: add + Parameter: (Pair 1 "A") + This transaction was successfully applied + Updated storage: + { Pair 0x01435e1f410af86271d7c8c3c98a8708157a45269200 (Pair "A" 1) } + Storage size: 180 bytes + Paid storage size diff: 105 bytes + Consumed gas: 1752.664 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.02625 + storage fees ........................... +ꜩ0.02625 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "A" + Account updates: + [CONTRACT_HASH] ... +1 + + +./octez-client --mode mockup --wait none transfer 0 from bootstrap2 to '[CONTRACT_HASH]' --burn-cap 2 --entrypoint clear --arg Unit +Node is bootstrapped. +Estimated gas: 1941.758 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000466 + Expected counter: 2 + Gas limit: 2042 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000466 + payload fees(the block proposer) ....... +ꜩ0.000466 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: clear + This transaction was successfully applied + Updated storage: {} + Storage size: 141 bytes + Consumed gas: 1942.337 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "A" + Account updates: + [CONTRACT_HASH] ... -1 + + +./octez-client --mode mockup --wait none transfer 0 from bootstrap2 to '[CONTRACT_HASH]' --burn-cap 2 --entrypoint add --arg 'Pair 1 "B"' +Node is bootstrapped. +Estimated gas: 1752.086 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000453 + Expected counter: 3 + Gas limit: 1853 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000453 + payload fees(the block proposer) ....... +ꜩ0.000453 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: add + Parameter: (Pair 1 "B") + This transaction was successfully applied + Updated storage: + { Pair 0x01435e1f410af86271d7c8c3c98a8708157a45269200 (Pair "B" 1) } + Storage size: 180 bytes + Consumed gas: 1752.664 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "B" + Account updates: + [CONTRACT_HASH] ... +1 + + +./octez-client --mode mockup --wait none transfer 0 from bootstrap2 to '[CONTRACT_HASH]' --burn-cap 2 --entrypoint add --arg 'Pair 1 "C"' +Node is bootstrapped. +Estimated gas: 2434.095 units (will add 100 for safety) +Estimated storage: 105 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000521 + Expected counter: 4 + Gas limit: 2535 + Storage limit: 125 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000521 + payload fees(the block proposer) ....... +ꜩ0.000521 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: add + Parameter: (Pair 1 "C") + This transaction was successfully applied + Updated storage: + { Pair 0x01435e1f410af86271d7c8c3c98a8708157a45269200 (Pair "C" 1) ; + Pair 0x01435e1f410af86271d7c8c3c98a8708157a45269200 (Pair "B" 1) } + Storage size: 219 bytes + Paid storage size diff: 105 bytes + Consumed gas: 2434.673 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.02625 + storage fees ........................... +ꜩ0.02625 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "C" + Account updates: + [CONTRACT_HASH] ... +1 + diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Minting then sending tickets to smart-contract rollup should succeed wi.out b/tezt/tests/expected/tickets.ml/Nairobi- Minting then sending tickets to smart-contract rollup should succeed wi.out new file mode 100644 index 000000000000..d6051495412f --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Minting then sending tickets to smart-contract rollup should succeed wi.out @@ -0,0 +1,55 @@ + +./octez-client --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg '"[SMART_ROLLUP_HASH]"' +Node is bootstrapped. +Estimated gas: 2784.628 units (will add 100 for safety) +Estimated storage: 132 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000584 + Expected counter: 3 + Gas limit: 2885 + Storage limit: 152 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000584 + payload fees(the block proposer) ....... +ꜩ0.000584 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[SMART_ROLLUP_HASH]" + This transaction was successfully applied + Updated storage: Unit + Storage size: 197 bytes + Paid storage size diff: 132 bytes + Consumed gas: 2674.654 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.033 + storage fees ........................... +ꜩ0.033 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [SMART_ROLLUP_HASH] + Parameter: { Pair 0x01f6719dc3bd86b5c531d6551553c467a31a54717800 (Pair "Ticket2" 1) ; + Pair 0x01f6719dc3bd86b5c531d6551553c467a31a54717800 (Pair "Ticket" 1) } + This transaction was successfully applied + Consumed gas: 109.941 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [SMART_ROLLUP_HASH] ... +1 + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket2" + Account updates: + [SMART_ROLLUP_HASH] ... +1 + diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Overdrafting ticket from implicit accounts must be rejected.out b/tezt/tests/expected/tickets.ml/Nairobi- Overdrafting ticket from implicit accounts must be rejected.out new file mode 100644 index 000000000000..d0e4923c0192 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Overdrafting ticket from implicit accounts must be rejected.out @@ -0,0 +1,210 @@ + +./octez-client --mode mockup --wait none originate contract tickets_send transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_send_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 614.381 units (will add 100 for safety) +Estimated storage: 415 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000457 + Expected counter: 1 + Gas limit: 715 + Storage limit: 435 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000457 + payload fees(the block proposer) ....... +ꜩ0.000457 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (pair address nat) ; + storage unit ; + code { CAR ; + UNPAIR ; + CONTRACT (ticket string) ; + IF_NONE + { PUSH string "Contract not found" ; FAILWITH } + { PUSH mutez 0 ; + DIG 2 ; + PUSH string "Ticket" ; + TICKET ; + ASSERT_SOME ; + TRANSFER_TOKENS ; + PUSH unit Unit ; + NIL operation ; + DIG 2 ; + CONS ; + PAIR } } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 158 bytes + Paid storage size diff: 158 bytes + Consumed gas: 614.348 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0395 + storage fees ........................... +ꜩ0.0395 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_send. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg 'Pair "[PUBLIC_KEY_HASH]" 1' +Node is bootstrapped. +Estimated gas: 1858.818 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1959 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair "[PUBLIC_KEY_HASH]" 1) + This transaction was successfully applied + Updated storage: Unit + Storage size: 158 bytes + Paid storage size diff: 66 bytes + Consumed gas: 1758.998 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Consumed gas: 100.398 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... +1 + + +./octez-client --mode mockup --wait none transfer 2 tickets from bootstrap1 to bootstrap2 with entrypoint default and contents '"Ticket"' and type string and ticketer '[CONTRACT_HASH]' --burn-cap 1 +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 3 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transfer tickets: + Ticket content: "Ticket" + Ticket content type: string + Ticket ticketer: [CONTRACT_HASH] + Ticket amount: 2 + Destination: [PUBLIC_KEY_HASH] + From: [PUBLIC_KEY_HASH] + This operation FAILED. + +Error: + Attempted to set negative ticket balance value '-1' for key exprubCTZXvJKqgSzwRfVHM3SJSU8MUFST8FnrYTxTLwn8F9oGyh8P. + +./octez-client --mode mockup --wait none originate contract tickets_bag transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_bag_016.tz --init '{}' --burn-cap 1 +Node is bootstrapped. +Estimated gas: 620.652 units (will add 100 for safety) +Estimated storage: 451 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 721 + Storage limit: 471 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (or (ticket %save string) (address %send)) ; + storage (list (ticket string)) ; + code { UNPAIR ; + IF_LEFT + { CONS ; NIL operation ; PAIR } + { SWAP ; + IF_CONS + { DIG 2 ; + CONTRACT %ticket (ticket string) ; + ASSERT_SOME ; + PUSH mutez 0 ; + DIG 2 ; + TRANSFER_TOKENS ; + NIL operation ; + SWAP ; + CONS ; + PAIR } + { PUSH string "no ticket to send" ; FAILWITH } } } } + Initial storage: {} + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 194 bytes + Paid storage size diff: 194 bytes + Consumed gas: 620.619 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0485 + storage fees ........................... +ꜩ0.0485 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_bag. + +./octez-client --mode mockup --wait none transfer 2 tickets from bootstrap1 to '[CONTRACT_HASH]' with entrypoint save and contents '"Ticket"' and type string and ticketer '[CONTRACT_HASH]' --burn-cap 1 +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 4 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transfer tickets: + Ticket content: "Ticket" + Ticket content type: string + Ticket ticketer: [CONTRACT_HASH] + Ticket amount: 2 + Destination: [CONTRACT_HASH] + Entrypoint: save + From: [PUBLIC_KEY_HASH] + This operation FAILED. + +Error: + Attempted to set negative ticket balance value '-1' for key exprubCTZXvJKqgSzwRfVHM3SJSU8MUFST8FnrYTxTLwn8F9oGyh8P. diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Send tickets between originated contracts and implicit accounts.out b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets between originated contracts and implicit accounts.out new file mode 100644 index 000000000000..04f820ec16d8 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets between originated contracts and implicit accounts.out @@ -0,0 +1,387 @@ + +./octez-client --mode mockup --wait none originate contract tickets_send transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_send_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 614.381 units (will add 100 for safety) +Estimated storage: 415 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000457 + Expected counter: 1 + Gas limit: 715 + Storage limit: 435 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000457 + payload fees(the block proposer) ....... +ꜩ0.000457 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (pair address nat) ; + storage unit ; + code { CAR ; + UNPAIR ; + CONTRACT (ticket string) ; + IF_NONE + { PUSH string "Contract not found" ; FAILWITH } + { PUSH mutez 0 ; + DIG 2 ; + PUSH string "Ticket" ; + TICKET ; + ASSERT_SOME ; + TRANSFER_TOKENS ; + PUSH unit Unit ; + NIL operation ; + DIG 2 ; + CONS ; + PAIR } } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 158 bytes + Paid storage size diff: 158 bytes + Consumed gas: 614.348 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0395 + storage fees ........................... +ꜩ0.0395 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_send. + +./octez-client --mode mockup --wait none originate contract tickets_bag transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_bag_016.tz --init '{}' --burn-cap 1 +Node is bootstrapped. +Estimated gas: 620.652 units (will add 100 for safety) +Estimated storage: 451 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 721 + Storage limit: 471 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (or (ticket %save string) (address %send)) ; + storage (list (ticket string)) ; + code { UNPAIR ; + IF_LEFT + { CONS ; NIL operation ; PAIR } + { SWAP ; + IF_CONS + { DIG 2 ; + CONTRACT %ticket (ticket string) ; + ASSERT_SOME ; + PUSH mutez 0 ; + DIG 2 ; + TRANSFER_TOKENS ; + NIL operation ; + SWAP ; + CONS ; + PAIR } + { PUSH string "no ticket to send" ; FAILWITH } } } } + Initial storage: {} + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 194 bytes + Paid storage size diff: 194 bytes + Consumed gas: 620.619 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0485 + storage fees ........................... +ꜩ0.0485 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_bag. + +./octez-client --mode mockup --wait none originate contract tickets_blackhole transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_blackhole_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 579.805 units (will add 100 for safety) +Estimated storage: 308 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000346 + Expected counter: 3 + Gas limit: 680 + Storage limit: 328 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000346 + payload fees(the block proposer) ....... +ꜩ0.000346 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (ticket %ticket string) ; + storage unit ; + code { CDR ; NIL operation ; PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 51 bytes + Paid storage size diff: 51 bytes + Consumed gas: 579.772 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01275 + storage fees ........................... +ꜩ0.01275 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_blackhole. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg 'Pair "[PUBLIC_KEY_HASH]" 3' +Node is bootstrapped. +Estimated gas: 1858.818 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 4 + Gas limit: 1959 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair "[PUBLIC_KEY_HASH]" 3) + This transaction was successfully applied + Updated storage: Unit + Storage size: 158 bytes + Paid storage size diff: 66 bytes + Consumed gas: 1758.998 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 3)) + This transaction was successfully applied + Consumed gas: 100.398 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... +3 + + +./octez-client --mode mockup get ticket balance for bootstrap1 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +3 + +./octez-client --mode mockup --wait none transfer 2 tickets from bootstrap1 to bootstrap2 with entrypoint default and contents '"Ticket"' and type string and ticketer '[CONTRACT_HASH]' --burn-cap 1 +Node is bootstrapped. +Estimated gas: 1295.154 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000441 + Expected counter: 5 + Gas limit: 1396 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000441 + payload fees(the block proposer) ....... +ꜩ0.000441 + Transfer tickets: + Ticket content: "Ticket" + Ticket content type: string + Ticket ticketer: [CONTRACT_HASH] + Ticket amount: 2 + Destination: [PUBLIC_KEY_HASH] + From: [PUBLIC_KEY_HASH] + This tickets transfer was successfully applied + Paid storage size diff: 66 bytes + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... -2 + [PUBLIC_KEY_HASH] ... +2 + Consumed gas: 1295.088 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + + +./octez-client --mode mockup get ticket balance for bootstrap1 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +1 + +./octez-client --mode mockup get ticket balance for bootstrap2 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +2 + +./octez-client --mode mockup --wait none transfer 1 tickets from bootstrap2 to '[CONTRACT_HASH]' with entrypoint save and contents '"Ticket"' and type string and ticketer '[CONTRACT_HASH]' --burn-cap 1 +Node is bootstrapped. +Estimated gas: 3207.355 units (will add 100 for safety) +Estimated storage: 110 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00063 + Expected counter: 1 + Gas limit: 3308 + Storage limit: 130 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00063 + payload fees(the block proposer) ....... +ꜩ0.00063 + Transfer tickets: + Ticket content: "Ticket" + Ticket content type: string + Ticket ticketer: [CONTRACT_HASH] + Ticket amount: 1 + Destination: [CONTRACT_HASH] + Entrypoint: save + From: [PUBLIC_KEY_HASH] + This tickets transfer was successfully applied + Paid storage size diff: 66 bytes + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... -1 + Consumed gas: 1296.551 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: save + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Updated storage: + { Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1) } + Storage size: 238 bytes + Paid storage size diff: 44 bytes + Consumed gas: 1911.415 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.011 + storage fees ........................... +ꜩ0.011 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [CONTRACT_HASH] ... +1 + + +./octez-client --mode mockup get ticket balance for bootstrap2 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +1 + +./octez-client --mode mockup get ticket balance for '[CONTRACT_HASH]' with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +1 + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --entrypoint send --arg '"[CONTRACT_HASH]"' +Node is bootstrapped. +Estimated gas: 4717.552 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000781 + Expected counter: 6 + Gas limit: 4818 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000781 + payload fees(the block proposer) ....... +ꜩ0.000781 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: send + Parameter: "[CONTRACT_HASH]" + This transaction was successfully applied + Updated storage: {} + Storage size: 194 bytes + Consumed gas: 2864.858 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [CONTRACT_HASH] ... -1 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [CONTRACT_HASH] + Entrypoint: ticket + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Updated storage: Unit + Storage size: 51 bytes + Consumed gas: 1853.788 + + +./octez-client --mode mockup get ticket balance for '[CONTRACT_HASH]' with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +0 + +./octez-client --mode mockup get ticket balance for '[CONTRACT_HASH]' with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +0 diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts with some Tez along.out b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts with some Tez along.out new file mode 100644 index 000000000000..b746f178be30 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts with some Tez along.out @@ -0,0 +1,115 @@ + +./octez-client --mode mockup --wait none originate contract tickets_send_with_tez transferring 1 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_send_with_tez_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 612.587 units (will add 100 for safety) +Estimated storage: 411 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000455 + Expected counter: 1 + Gas limit: 713 + Storage limit: 431 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000455 + payload fees(the block proposer) ....... +ꜩ0.000455 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ1 + Script: + { parameter address ; + storage unit ; + code { CAR ; + CONTRACT (ticket string) ; + IF_NONE + { PUSH string "Contract not found" ; FAILWITH } + { PUSH mutez 1 ; + PUSH nat 1 ; + PUSH string "Ticket" ; + TICKET ; + ASSERT_SOME ; + TRANSFER_TOKENS ; + PUSH unit Unit ; + NIL operation ; + DIG 2 ; + CONS ; + PAIR } } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 154 bytes + Paid storage size diff: 154 bytes + Consumed gas: 612.554 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0385 + storage fees ........................... +ꜩ0.0385 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ1 + [CONTRACT_HASH] ... +ꜩ1 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_send_with_tez. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg '"[PUBLIC_KEY_HASH]"' +Node is bootstrapped. +Estimated gas: 1857.302 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.00049 + Expected counter: 2 + Gas limit: 1958 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.00049 + payload fees(the block proposer) ....... +ꜩ0.00049 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[PUBLIC_KEY_HASH]" + This transaction was successfully applied + Updated storage: Unit + Storage size: 154 bytes + Paid storage size diff: 66 bytes + Consumed gas: 1757.483 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0.000001 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + Parameter: (Pair 0x017c8454eff9ad796cd8baba365d2592ad1b60efb100 (Pair "Ticket" 1)) + This transaction was successfully applied + Consumed gas: 100.398 + Balance updates: + [CONTRACT_HASH] ... -ꜩ0.000001 + [PUBLIC_KEY_HASH] ... +ꜩ0.000001 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... +1 + + +./octez-client --mode mockup get ticket balance for bootstrap1 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +1 diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts with the wrong type mu.out b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts with the wrong type mu.out new file mode 100644 index 000000000000..4ef9068eabf9 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts with the wrong type mu.out @@ -0,0 +1,195 @@ + +./octez-client --mode mockup --wait none originate contract send_ticket_list transferring 1 from bootstrap1 running michelson_test_scripts/mini_scenarios/send_ticket_list_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 614.629 units (will add 100 for safety) +Estimated storage: 402 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000446 + Expected counter: 1 + Gas limit: 715 + Storage limit: 422 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000446 + payload fees(the block proposer) ....... +ꜩ0.000446 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ1 + Script: + { parameter address ; + storage unit ; + code { CAR ; + CONTRACT (list (ticket string)) ; + ASSERT_SOME ; + PUSH mutez 0 ; + NIL (ticket string) ; + PUSH nat 1 ; + PUSH string "Ticket" ; + TICKET ; + ASSERT_SOME ; + CONS ; + TRANSFER_TOKENS ; + NIL operation ; + SWAP ; + CONS ; + UNIT ; + SWAP ; + PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 145 bytes + Paid storage size diff: 145 bytes + Consumed gas: 614.596 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.03625 + storage fees ........................... +ꜩ0.03625 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ1 + [CONTRACT_HASH] ... +ꜩ1 + +New contract [CONTRACT_HASH] originated. +Contract memorized as send_ticket_list. + +./octez-client --mode mockup --wait none originate contract tickets_list_blackhole transferring 1 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_list_blackhole_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 579.534 units (will add 100 for safety) +Estimated storage: 299 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000339 + Expected counter: 2 + Gas limit: 680 + Storage limit: 319 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000339 + payload fees(the block proposer) ....... +ꜩ0.000339 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ1 + Script: + { parameter (list (ticket string)) ; + storage unit ; + code { CDR ; NIL operation ; PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 42 bytes + Paid storage size diff: 42 bytes + Consumed gas: 579.501 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0105 + storage fees ........................... +ꜩ0.0105 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ1 + [CONTRACT_HASH] ... +ꜩ1 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_list_blackhole. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg '"[CONTRACT_HASH]"' +Node is bootstrapped. +Estimated gas: 4064.546 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000711 + Expected counter: 3 + Gas limit: 4165 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000711 + payload fees(the block proposer) ....... +ꜩ0.000711 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[CONTRACT_HASH]" + This transaction was successfully applied + Updated storage: Unit + Storage size: 145 bytes + Paid storage size diff: 66 bytes + Consumed gas: 2211.797 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [CONTRACT_HASH] + Parameter: { Pair 0x011213b3979289bef70dc1d1a4fb7574f306bf7f2400 (Pair "Ticket" 1) } + This transaction was successfully applied + Updated storage: Unit + Storage size: 42 bytes + Consumed gas: 1853.844 + + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg '"[PUBLIC_KEY_HASH]"' +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 4 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[PUBLIC_KEY_HASH]" + This operation FAILED. + +Runtime error in contract [CONTRACT_HASH]: + 01: { parameter address ; + 02: storage unit ; + 03: code { CAR ; + 04: CONTRACT (list (ticket string)) ; + 05: ASSERT_SOME ; + 06: PUSH mutez 0 ; + 07: NIL (ticket string) ; + 08: PUSH nat 1 ; + 09: PUSH string "Ticket" ; + 10: TICKET ; + 11: ASSERT_SOME ; + 12: CONS ; + 13: TRANSFER_TOKENS ; + 14: NIL operation ; + 15: SWAP ; + 16: CONS ; + 17: UNIT ; + 18: SWAP ; + 19: PAIR } } +At line 5 characters 9 to 20, +script reached FAILWITH instruction +with Unit +Fatal error: + transfer simulation failed diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts.out b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts.out new file mode 100644 index 000000000000..d518cd93d434 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets from contracts to implicit accounts.out @@ -0,0 +1,111 @@ + +./octez-client --mode mockup --wait none originate contract tickets_send transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_send_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 614.381 units (will add 100 for safety) +Estimated storage: 415 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000457 + Expected counter: 1 + Gas limit: 715 + Storage limit: 435 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000457 + payload fees(the block proposer) ....... +ꜩ0.000457 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (pair address nat) ; + storage unit ; + code { CAR ; + UNPAIR ; + CONTRACT (ticket string) ; + IF_NONE + { PUSH string "Contract not found" ; FAILWITH } + { PUSH mutez 0 ; + DIG 2 ; + PUSH string "Ticket" ; + TICKET ; + ASSERT_SOME ; + TRANSFER_TOKENS ; + PUSH unit Unit ; + NIL operation ; + DIG 2 ; + CONS ; + PAIR } } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 158 bytes + Paid storage size diff: 158 bytes + Consumed gas: 614.348 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0395 + storage fees ........................... +ꜩ0.0395 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_send. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg 'Pair "[PUBLIC_KEY_HASH]" 1' +Node is bootstrapped. +Estimated gas: 1858.818 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1959 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair "[PUBLIC_KEY_HASH]" 1) + This transaction was successfully applied + Updated storage: Unit + Storage size: 158 bytes + Paid storage size diff: 66 bytes + Consumed gas: 1758.998 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Consumed gas: 100.398 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... +1 + + +./octez-client --mode mockup get ticket balance for bootstrap1 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +1 diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Send tickets in bigmap.out b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets in bigmap.out new file mode 100644 index 000000000000..6a0d080d7f37 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Send tickets in bigmap.out @@ -0,0 +1,296 @@ + +./octez-client --mode mockup --wait none originate contract receive_tickets_in_big_map transferring 200 from bootstrap1 running michelson_test_scripts/mini_scenarios/receive_tickets_in_big_map.tz --init '{}' --burn-cap 1 +Node is bootstrapped. +Estimated gas: 583.088 units (will add 100 for safety) +Estimated storage: 340 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000352 + Expected counter: 1 + Gas limit: 684 + Storage limit: 360 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000352 + payload fees(the block proposer) ....... +ꜩ0.000352 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ200 + Script: + { parameter (big_map int (ticket string)) ; + storage (big_map int (ticket string)) ; + code { CAR ; NIL operation ; PAIR } } + Initial storage: {} + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 83 bytes + Updated big_maps: + New map(4) of type (big_map int (ticket string)) + Paid storage size diff: 83 bytes + Consumed gas: 583.054 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.02075 + storage fees ........................... +ꜩ0.02075 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ200 + [CONTRACT_HASH] ... +ꜩ200 + +New contract [CONTRACT_HASH] originated. +Contract memorized as receive_tickets_in_big_map. + +./octez-client --mode mockup --wait none originate contract send_tickets_in_big_map transferring 200 from bootstrap1 running michelson_test_scripts/mini_scenarios/send_tickets_in_big_map_015.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 675.926 units (will add 100 for safety) +Estimated storage: 577 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000628 + Expected counter: 2 + Gas limit: 776 + Storage limit: 597 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000628 + payload fees(the block proposer) ....... +ꜩ0.000628 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ200 + Script: + { parameter address ; + storage unit ; + code { CAR ; + CONTRACT (big_map int (ticket string)) ; + IF_NONE + { PUSH string "Contract of type `big_map(ticket(string))` not found" ; + FAILWITH } + { EMPTY_BIG_MAP int (ticket string) ; + PUSH int 100 ; + SWAP ; + PAIR ; + LEFT (big_map int (ticket string)) ; + LOOP_LEFT + { UNPAIR ; + SWAP ; + DUP ; + DUG 2 ; + PUSH int 0 ; + COMPARE ; + LT ; + IF { PUSH int 1 ; + DUP 3 ; + SUB ; + SWAP ; + PUSH nat 1 ; + PUSH string "BLUE" ; + TICKET ; + ASSERT_SOME ; + DIG 3 ; + SWAP ; + SOME ; + SWAP ; + UPDATE ; + PAIR ; + LEFT (big_map int (ticket string)) } + { SWAP ; DROP ; RIGHT (pair (big_map int (ticket string)) int) } } ; + SWAP ; + PUSH mutez 0 ; + DIG 2 ; + TRANSFER_TOKENS ; + PUSH unit Unit ; + NIL operation ; + DIG 2 ; + CONS ; + PAIR } } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 320 bytes + Paid storage size diff: 320 bytes + Consumed gas: 675.893 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.08 + storage fees ........................... +ꜩ0.08 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + [PUBLIC_KEY_HASH] ... -ꜩ200 + [CONTRACT_HASH] ... +ꜩ200 + +New contract [CONTRACT_HASH] originated. +Contract memorized as send_tickets_in_big_map. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap2 to '[CONTRACT_HASH]' --burn-cap 30 --storage-limit 1000000 --arg '"[CONTRACT_HASH]"' +Node is bootstrapped. +Estimated gas: 98835.811 units (will add 100 for safety) +Estimated storage: 10767 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.01019 + Expected counter: 1 + Gas limit: 98936 + Storage limit: 10787 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01019 + payload fees(the block proposer) ....... +ꜩ0.01019 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: "[CONTRACT_HASH]" + This transaction was successfully applied + Updated storage: Unit + Updated big_maps: + New temp(1) of type (big_map int (ticket string)) + Set temp(1)[22] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[48] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[20] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[67] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[30] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[33] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[42] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[13] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[50] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[84] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[44] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[41] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[4] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[73] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[5] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[28] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[19] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[9] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[86] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[76] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[8] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[97] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[80] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[45] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[87] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[1] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[26] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[38] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[65] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[99] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[69] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[2] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[81] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[82] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[64] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[92] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[90] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[98] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[37] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[66] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[32] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[71] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[51] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[56] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[14] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[12] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[85] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[47] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[74] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[18] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[10] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[35] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[96] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[27] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[77] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[62] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[58] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[25] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[94] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[60] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[7] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[53] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[11] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[17] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[83] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[72] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[6] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[88] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[75] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[3] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[70] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[52] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[95] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[68] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[78] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[23] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[79] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[59] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[100] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[24] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[21] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[49] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[93] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[39] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[63] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[55] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[15] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[16] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[31] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[43] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[29] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[54] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[89] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[36] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[46] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[91] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[61] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[34] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[57] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Set temp(1)[40] to (Pair 0x01b15c53925dc62a43681d4bdc4f24b31eeb31a49200 (Pair "BLUE" 1)) + Storage size: 320 bytes + Paid storage size diff: 67 bytes + Consumed gas: 49911.017 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01675 + storage fees ........................... +ꜩ0.01675 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [CONTRACT_HASH] + Parameter: -1 + This transaction was successfully applied + Updated storage: 5 + Updated big_maps: + Clear map(4) + Copy temp(1) to map(5) + Storage size: 10783 bytes + Paid storage size diff: 10700 bytes + Consumed gas: 48925.826 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ2.675 + storage fees ........................... +ꜩ2.675 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "BLUE" + Account updates: + [CONTRACT_HASH] ... +100 + diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Sending ticket from contract storage to implicit accounts.out b/tezt/tests/expected/tickets.ml/Nairobi- Sending ticket from contract storage to implicit accounts.out new file mode 100644 index 000000000000..c84a77b15172 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Sending ticket from contract storage to implicit accounts.out @@ -0,0 +1,294 @@ + +./octez-client --mode mockup --wait none originate contract tickets_send transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_send_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 614.381 units (will add 100 for safety) +Estimated storage: 415 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000457 + Expected counter: 1 + Gas limit: 715 + Storage limit: 435 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000457 + payload fees(the block proposer) ....... +ꜩ0.000457 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (pair address nat) ; + storage unit ; + code { CAR ; + UNPAIR ; + CONTRACT (ticket string) ; + IF_NONE + { PUSH string "Contract not found" ; FAILWITH } + { PUSH mutez 0 ; + DIG 2 ; + PUSH string "Ticket" ; + TICKET ; + ASSERT_SOME ; + TRANSFER_TOKENS ; + PUSH unit Unit ; + NIL operation ; + DIG 2 ; + CONS ; + PAIR } } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 158 bytes + Paid storage size diff: 158 bytes + Consumed gas: 614.348 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0395 + storage fees ........................... +ꜩ0.0395 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_send. + +./octez-client --mode mockup --wait none originate contract tickets_bag_implicit transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_bag_implicit_016.tz --init '{}' --burn-cap 1 +Node is bootstrapped. +Estimated gas: 619.638 units (will add 100 for safety) +Estimated storage: 440 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000482 + Expected counter: 2 + Gas limit: 720 + Storage limit: 460 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000482 + payload fees(the block proposer) ....... +ꜩ0.000482 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (or (ticket %save string) (address %send)) ; + storage (list (ticket string)) ; + code { UNPAIR ; + IF_LEFT + { CONS ; NIL operation ; PAIR } + { SWAP ; + IF_CONS + { DIG 2 ; + CONTRACT (ticket string) ; + ASSERT_SOME ; + PUSH mutez 0 ; + DIG 2 ; + TRANSFER_TOKENS ; + NIL operation ; + SWAP ; + CONS ; + PAIR } + { PUSH string "no ticket to send" ; FAILWITH } } } } + Initial storage: {} + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 183 bytes + Paid storage size diff: 183 bytes + Consumed gas: 619.605 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.04575 + storage fees ........................... +ꜩ0.04575 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_bag_implicit. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg 'Pair "[PUBLIC_KEY_HASH]" 1' +Node is bootstrapped. +Estimated gas: 1858.818 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1959 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair "[PUBLIC_KEY_HASH]" 1) + This transaction was successfully applied + Updated storage: Unit + Storage size: 158 bytes + Paid storage size diff: 66 bytes + Consumed gas: 1758.998 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Consumed gas: 100.398 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... +1 + + +./octez-client --mode mockup get ticket balance for bootstrap1 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +1 + +./octez-client --mode mockup --wait none transfer 1 tickets from bootstrap1 to '[CONTRACT_HASH]' with entrypoint save and contents '"Ticket"' and type string and ticketer '[CONTRACT_HASH]' --burn-cap 1 +Node is bootstrapped. +Estimated gas: 3176.844 units (will add 100 for safety) +Estimated storage: 44 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000626 + Expected counter: 4 + Gas limit: 3277 + Storage limit: 64 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000626 + payload fees(the block proposer) ....... +ꜩ0.000626 + Transfer tickets: + Ticket content: "Ticket" + Ticket content type: string + Ticket ticketer: [CONTRACT_HASH] + Ticket amount: 1 + Destination: [CONTRACT_HASH] + Entrypoint: save + From: [PUBLIC_KEY_HASH] + This tickets transfer was successfully applied + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... -1 + Consumed gas: 1266.514 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: save + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Updated storage: + { Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1) } + Storage size: 227 bytes + Paid storage size diff: 44 bytes + Consumed gas: 1910.908 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.011 + storage fees ........................... +ꜩ0.011 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [CONTRACT_HASH] ... +1 + + +./octez-client --mode mockup get ticket balance for bootstrap1 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +0 + +./octez-client --mode mockup get ticket balance for '[CONTRACT_HASH]' with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +1 + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --entrypoint send --arg '"[PUBLIC_KEY_HASH]"' +Node is bootstrapped. +Estimated gas: 2511.684 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000561 + Expected counter: 5 + Gas limit: 2612 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000561 + payload fees(the block proposer) ....... +ꜩ0.000561 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: send + Parameter: "[PUBLIC_KEY_HASH]" + This transaction was successfully applied + Updated storage: {} + Storage size: 183 bytes + Consumed gas: 2411.864 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [CONTRACT_HASH] ... -1 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Consumed gas: 100.398 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... +1 + + +./octez-client --mode mockup get ticket balance for bootstrap2 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +1 + +./octez-client --mode mockup get ticket balance for '[CONTRACT_HASH]' with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +0 diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Sending ticket of wrong type from implicit accounts must be rejected.out b/tezt/tests/expected/tickets.ml/Nairobi- Sending ticket of wrong type from implicit accounts must be rejected.out new file mode 100644 index 000000000000..71f5aabbebfd --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Sending ticket of wrong type from implicit accounts must be rejected.out @@ -0,0 +1,129 @@ + +./octez-client --mode mockup --wait none originate contract tickets_send transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_send_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 614.381 units (will add 100 for safety) +Estimated storage: 415 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000457 + Expected counter: 1 + Gas limit: 715 + Storage limit: 435 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000457 + payload fees(the block proposer) ....... +ꜩ0.000457 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (pair address nat) ; + storage unit ; + code { CAR ; + UNPAIR ; + CONTRACT (ticket string) ; + IF_NONE + { PUSH string "Contract not found" ; FAILWITH } + { PUSH mutez 0 ; + DIG 2 ; + PUSH string "Ticket" ; + TICKET ; + ASSERT_SOME ; + TRANSFER_TOKENS ; + PUSH unit Unit ; + NIL operation ; + DIG 2 ; + CONS ; + PAIR } } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 158 bytes + Paid storage size diff: 158 bytes + Consumed gas: 614.348 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0395 + storage fees ........................... +ꜩ0.0395 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_send. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg 'Pair "[PUBLIC_KEY_HASH]" 1' +Node is bootstrapped. +Estimated gas: 1858.818 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1959 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair "[PUBLIC_KEY_HASH]" 1) + This transaction was successfully applied + Updated storage: Unit + Storage size: 158 bytes + Paid storage size diff: 66 bytes + Consumed gas: 1758.998 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Consumed gas: 100.398 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... +1 + + +./octez-client --mode mockup --wait none transfer 2 tickets from bootstrap1 to bootstrap2 with entrypoint default and contents 0 and type nat and ticketer '[CONTRACT_HASH]' --burn-cap 1 +Node is bootstrapped. +This simulation failed: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0 + Expected counter: 3 + Gas limit: 1040000 + Storage limit: 60000 bytes + Transfer tickets: + Ticket content: 0 + Ticket content type: nat + Ticket ticketer: [CONTRACT_HASH] + Ticket amount: 2 + Destination: [PUBLIC_KEY_HASH] + From: [PUBLIC_KEY_HASH] + This operation FAILED. + +Error: + Attempted to set negative ticket balance value '-2' for key expru2shUeN2Ah7TLWrM937cMzrqkGL4LirEXUQYVZU4YvjdqGrkB2. diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Sending tickets from storage to smart-contract rollup should succeed wi.out b/tezt/tests/expected/tickets.ml/Nairobi- Sending tickets from storage to smart-contract rollup should succeed wi.out new file mode 100644 index 000000000000..c07a08a59f41 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Sending tickets from storage to smart-contract rollup should succeed wi.out @@ -0,0 +1,111 @@ + +./octez-client --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --entrypoint mint +Node is bootstrapped. +Estimated gas: 2222.694 units (will add 100 for safety) +Estimated storage: 221 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 2323 + Storage limit: 241 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: mint + This transaction was successfully applied + Updated storage: + { Pair 0x017a22a4e42f88383dbb327d548e263b53f4f3b91100 (Pair "Ticket2" 1) ; + Pair 0x017a22a4e42f88383dbb327d548e263b53f4f3b91100 (Pair "Ticket" 1) } + Storage size: 309 bytes + Paid storage size diff: 221 bytes + Consumed gas: 2222.661 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.05525 + storage fees ........................... +ꜩ0.05525 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket2" + Account updates: + [CONTRACT_HASH] ... +1 + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [CONTRACT_HASH] ... +1 + + +./octez-client --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --entrypoint send --arg '"[SMART_ROLLUP_HASH]"' +Node is bootstrapped. +Estimated gas: 3142.041 units (will add 100 for safety) +Estimated storage: no bytes added +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000624 + Expected counter: 4 + Gas limit: 3243 + Storage limit: 0 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000624 + payload fees(the block proposer) ....... +ꜩ0.000624 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Entrypoint: send + Parameter: "[SMART_ROLLUP_HASH]" + This transaction was successfully applied + Updated storage: {} + Storage size: 220 bytes + Consumed gas: 3032.033 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket2" + Account updates: + [CONTRACT_HASH] ... -1 + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [CONTRACT_HASH] ... -1 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [SMART_ROLLUP_HASH] + Parameter: { Pair 0x017a22a4e42f88383dbb327d548e263b53f4f3b91100 (Pair "Ticket2" 1) ; + Pair 0x017a22a4e42f88383dbb327d548e263b53f4f3b91100 (Pair "Ticket" 1) } + This transaction was successfully applied + Consumed gas: 109.941 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket2" + Account updates: + [SMART_ROLLUP_HASH] ... +1 + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [SMART_ROLLUP_HASH] ... +1 + diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Sending tickets to either implicit accounts or originated contracts acc.out b/tezt/tests/expected/tickets.ml/Nairobi- Sending tickets to either implicit accounts or originated contracts acc.out new file mode 100644 index 000000000000..ea01aeebfaa8 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Sending tickets to either implicit accounts or originated contracts acc.out @@ -0,0 +1,197 @@ + +./octez-client --mode mockup --wait none originate contract tickets_send transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_send_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 614.381 units (will add 100 for safety) +Estimated storage: 415 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000457 + Expected counter: 1 + Gas limit: 715 + Storage limit: 435 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000457 + payload fees(the block proposer) ....... +ꜩ0.000457 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (pair address nat) ; + storage unit ; + code { CAR ; + UNPAIR ; + CONTRACT (ticket string) ; + IF_NONE + { PUSH string "Contract not found" ; FAILWITH } + { PUSH mutez 0 ; + DIG 2 ; + PUSH string "Ticket" ; + TICKET ; + ASSERT_SOME ; + TRANSFER_TOKENS ; + PUSH unit Unit ; + NIL operation ; + DIG 2 ; + CONS ; + PAIR } } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 158 bytes + Paid storage size diff: 158 bytes + Consumed gas: 614.348 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0395 + storage fees ........................... +ꜩ0.0395 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_send. + +./octez-client --mode mockup --wait none originate contract tickets_blackhole transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_blackhole_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 579.805 units (will add 100 for safety) +Estimated storage: 308 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000346 + Expected counter: 2 + Gas limit: 680 + Storage limit: 328 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000346 + payload fees(the block proposer) ....... +ꜩ0.000346 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (ticket %ticket string) ; + storage unit ; + code { CDR ; NIL operation ; PAIR } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 51 bytes + Paid storage size diff: 51 bytes + Consumed gas: 579.772 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.01275 + storage fees ........................... +ꜩ0.01275 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_blackhole. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg 'Pair "[PUBLIC_KEY_HASH]" 1' +Node is bootstrapped. +Estimated gas: 1858.818 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 1959 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair "[PUBLIC_KEY_HASH]" 1) + This transaction was successfully applied + Updated storage: Unit + Storage size: 158 bytes + Paid storage size diff: 66 bytes + Consumed gas: 1758.998 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Consumed gas: 100.398 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... +1 + + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg 'Pair "[CONTRACT_HASH]" 1' +Node is bootstrapped. +Estimated gas: 4064.179 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000715 + Expected counter: 4 + Gas limit: 4165 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000715 + payload fees(the block proposer) ....... +ꜩ0.000715 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair "[CONTRACT_HASH]" 1) + This transaction was successfully applied + Updated storage: Unit + Storage size: 158 bytes + Paid storage size diff: 66 bytes + Consumed gas: 2211.485 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Updated storage: Unit + Storage size: 51 bytes + Consumed gas: 1853.788 + diff --git a/tezt/tests/expected/tickets.ml/Nairobi- Sending zero ticket from implicit accounts must be rejected.out b/tezt/tests/expected/tickets.ml/Nairobi- Sending zero ticket from implicit accounts must be rejected.out new file mode 100644 index 000000000000..0f5ff07dc370 --- /dev/null +++ b/tezt/tests/expected/tickets.ml/Nairobi- Sending zero ticket from implicit accounts must be rejected.out @@ -0,0 +1,174 @@ + +./octez-client --mode mockup --wait none originate contract tickets_send transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_send_016.tz --init Unit --burn-cap 1 +Node is bootstrapped. +Estimated gas: 614.381 units (will add 100 for safety) +Estimated storage: 415 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000457 + Expected counter: 1 + Gas limit: 715 + Storage limit: 435 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000457 + payload fees(the block proposer) ....... +ꜩ0.000457 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (pair address nat) ; + storage unit ; + code { CAR ; + UNPAIR ; + CONTRACT (ticket string) ; + IF_NONE + { PUSH string "Contract not found" ; FAILWITH } + { PUSH mutez 0 ; + DIG 2 ; + PUSH string "Ticket" ; + TICKET ; + ASSERT_SOME ; + TRANSFER_TOKENS ; + PUSH unit Unit ; + NIL operation ; + DIG 2 ; + CONS ; + PAIR } } } + Initial storage: Unit + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 158 bytes + Paid storage size diff: 158 bytes + Consumed gas: 614.348 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0395 + storage fees ........................... +ꜩ0.0395 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_send. + +./octez-client --mode mockup --wait none transfer 0 from bootstrap1 to '[CONTRACT_HASH]' --burn-cap 1 --arg 'Pair "[PUBLIC_KEY_HASH]" 1' +Node is bootstrapped. +Estimated gas: 1858.818 units (will add 100 for safety) +Estimated storage: 66 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 2 + Gas limit: 1959 + Storage limit: 86 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Transaction: + Amount: ꜩ0 + From: [PUBLIC_KEY_HASH] + To: [CONTRACT_HASH] + Parameter: (Pair "[PUBLIC_KEY_HASH]" 1) + This transaction was successfully applied + Updated storage: Unit + Storage size: 158 bytes + Paid storage size diff: 66 bytes + Consumed gas: 1758.998 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0165 + storage fees ........................... +ꜩ0.0165 + Internal operations: + Internal Transaction: + Amount: ꜩ0 + From: [CONTRACT_HASH] + To: [PUBLIC_KEY_HASH] + Parameter: (Pair 0x01fca241ad513615858a813a6019c5a5b3977c27dc00 (Pair "Ticket" 1)) + This transaction was successfully applied + Consumed gas: 100.398 + Ticket updates: + Ticketer: [CONTRACT_HASH] + Content type: string + Content: "Ticket" + Account updates: + [PUBLIC_KEY_HASH] ... +1 + + +./octez-client --mode mockup get ticket balance for bootstrap1 with ticketer '[CONTRACT_HASH]' and type string and content '"Ticket"' +1 + +./octez-client --mode mockup --wait none originate contract tickets_bag transferring 0 from bootstrap1 running michelson_test_scripts/mini_scenarios/tickets_bag_016.tz --init '{}' --burn-cap 1 +Node is bootstrapped. +Estimated gas: 620.652 units (will add 100 for safety) +Estimated storage: 451 bytes added (will add 20 for safety) +Operation successfully injected in the node. +Operation hash is '[OPERATION_HASH]' +NOT waiting for the operation to be included. +Use command + octez-client wait for [OPERATION_HASH] to be included --confirmations 1 --branch [BLOCK_HASH] +and/or an external block explorer to make sure that it has been included. +This sequence of operations was run: + Manager signed operations: + From: [PUBLIC_KEY_HASH] + Fee to the baker: ꜩ0.000494 + Expected counter: 3 + Gas limit: 721 + Storage limit: 471 bytes + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.000494 + payload fees(the block proposer) ....... +ꜩ0.000494 + Origination: + From: [PUBLIC_KEY_HASH] + Credit: ꜩ0 + Script: + { parameter (or (ticket %save string) (address %send)) ; + storage (list (ticket string)) ; + code { UNPAIR ; + IF_LEFT + { CONS ; NIL operation ; PAIR } + { SWAP ; + IF_CONS + { DIG 2 ; + CONTRACT %ticket (ticket string) ; + ASSERT_SOME ; + PUSH mutez 0 ; + DIG 2 ; + TRANSFER_TOKENS ; + NIL operation ; + SWAP ; + CONS ; + PAIR } + { PUSH string "no ticket to send" ; FAILWITH } } } } + Initial storage: {} + No delegate for this contract + This origination was successfully applied + Originated contracts: + [CONTRACT_HASH] + Storage size: 194 bytes + Paid storage size diff: 194 bytes + Consumed gas: 620.619 + Balance updates: + [PUBLIC_KEY_HASH] ... -ꜩ0.0485 + storage fees ........................... +ꜩ0.0485 + [PUBLIC_KEY_HASH] ... -ꜩ0.06425 + storage fees ........................... +ꜩ0.06425 + +New contract [CONTRACT_HASH] originated. +Contract memorized as tickets_bag. + +./octez-client --mode mockup --wait none transfer 0 tickets from bootstrap1 to '[CONTRACT_HASH]' with entrypoint save and contents '"Ticket"' and type string and ticketer '[CONTRACT_HASH]' --burn-cap 1 +Fatal error: + ticket quantity should not be zero or negative diff --git a/tezt/tests/light.ml b/tezt/tests/light.ml index 248556c26a9c..b9b14324f054 100644 --- a/tezt/tests/light.ml +++ b/tezt/tests/light.ml @@ -237,7 +237,7 @@ module NoUselessRpc = struct ] in let paths = - if Protocol.(number protocol > number Mumbai) then + if Protocol.(number protocol > number Nairobi) then (["helpers"; "attestation_rights"], []) :: paths else paths in diff --git a/tezt/tests/proxy_server_test.ml b/tezt/tests/proxy_server_test.ml index a8b7fe3f2638..1981be48c95d 100644 --- a/tezt/tests/proxy_server_test.ml +++ b/tezt/tests/proxy_server_test.ml @@ -288,7 +288,7 @@ let test_multi_protocols = __LOC__)) in let* () = - if Protocol.(number proto > number Mumbai) then ( + if Protocol.(number proto > number Nairobi) then ( let* proto_attestation_rights = RPC.Client.call client @@ RPC.get_chain_block_helper_attestation_rights ?block () diff --git a/tezt/tests/tickets.ml b/tezt/tests/tickets.ml index 24a5743be060..13ce63c01295 100644 --- a/tezt/tests/tickets.ml +++ b/tezt/tests/tickets.ml @@ -851,8 +851,8 @@ let test_originated_implicit_can_be_equipotent = let setup_sc_enabled_node protocol ~parameters_ty = let parameters = match protocol with - | Protocol.Alpha | Mumbai -> [] - | _ -> [(["sc_rollup_enable"], `Bool true)] + | Protocol.Alpha | Mumbai | Nairobi -> [] + | Lima -> [(["sc_rollup_enable"], `Bool true)] in let base = Either.right (protocol, None) in let* parameter_file = Protocol.write_parameter_file ~base parameters in -- GitLab